So sánh câu lệnh OR và IN trong SQL Server

So sánh cách sử dụng và hiệu quả của 2 câu lệnh In và Or trong SQL Server

  1. Cú pháp sử dụng OR và IN trong SQL Server
  2. Sự khác biệt giữa câu lệnh IN và OR trong SQL Server
  3. Ví dụ so sánh câu lệnh OR và IN trong SQL Server
  4. Lưu ý khi dùng IN
  5. Kinh nghiệm nên sử dụng OR hay IN khi làm phần mềm có kết nối với SQL Server
  6. Video thực hành

Trong SQL Server, cả OR và IN đều được dùng để lọc dữ liệu theo nhiều giá trị, nhưng chúng có khác biệt về cú pháp, hiệu năng, và trường hợp sử dụng.

1. Cú pháp sử dụng OR và IN trong SQL Server

Cú pháp câu lệnh OR

SELECT * FROM HocSinh
WHERE Lop = '10A1' OR Lop = '10A2' ;

Cú pháp câu lệnh IN

SELECT * FROM HocSinh
WHERE Lop IN ('10A1', '10A2');

2. Sự khác biệt giữa câu lệnh IN và OR trong SQL Server

Tiêu chí OR IN
Cú pháp Dài dòng nếu nhiều điều kiện Ngắn gọn hơn
Dễ đọc Kém rõ ràng nếu nhiều điều kiện Rõ ràng và trực quan
Hiệu năng Có thể kém hơn nếu nhiều điều kiện (với kiểu dữ liệu lớn hoặc nhiều OR) Thường được tối ưu tốt hơn (đặc biệt là với tập giá trị tĩnh)
So sánh null OR có thể linh hoạt hơn khi so sánh giá trị NULL IN không trả kết quả nếu có NULL trong danh sách
So sánh phức tạp Hỗ trợ các biểu thức phức tạp hơn, như A = 1 OR B = 2 Chỉ so sánh 1 cột tại 1 thời điểm

 

3. Ví dụ so sánh câu lệnh OR và IN trong SQL Server

Dùng OR để kiểm tra nhiều cột

SELECT * FROM HocSinh
WHERE Ten = 'Nam' OR Ho = 'Nguyen';

    IN không thể dùng để so sánh nhiều cột như thế này.

Dùng IN để kiểm tra trong danh sách

SELECT * FROM HocSinh
WHERE Lop IN ('10A1', '10A2', '10A3');

    Gọn hơn rất nhiều so với viết 3 dòng OR.

4. Lưu ý khi dùng IN

    Nếu danh sách có giá trị NULL, kết quả có thể bị sai hoặc thiếu.

SELECT * FROM HocSinh
WHERE MaGiaoVien IN (1, 2, NULL);  -- Có thể KHÔNG lấy ra những dòng có NULL

5. Kinh nghiệm nên sử dụng OR hay IN khi làm phần mềm có kết nối với SQL Server

   Dùng IN khi bạn so sánh một cột với nhiều giá trị.
   Dùng OR khi bạn cần so sánh nhiều cột hoặc biểu thức khác nhau.
   IN thường ngắn gọn và dễ đọc, và tối ưu hiệu năng hơn khi dùng đúng cách.

6. Video thực hành lệnh In và Or trong SQL Server

 

Bài viết liên quan:

So sánh cách sử dụng và hiệu quả của 2 câu lệnh In và Or trong SQL Server