Các toán tử so sánh trong SQL Server

Bài viết này sẽ đưa ra các toán tử so sánh được dùng để kiểm tra tính cân bằng cùng với các toán tử nâng cao hơn trong SQL Server. Bạn đọc có thể tham khảo thêm bài viết Toán tử trong SQL.

Toán tử so sánh được dùng trong mệnh đề WHERE để xác định lựa chọn bản ghi nào. Đây là danh sách các toán tử so sánh bạn có thể dùng trong SQL Server (T-SQL).

Toán tử Mô tả
= Ngang bằng
<> Không bằng
!= Không bằng
> Lớn hơn
>= Lớn hơn hoặc bằng
< Nhỏ hơn
<= Nhỏ hơn hoặc bằng
!> Không lớn hơn
!< Không nhỏ hơn
IN () Phù hợp với giá trị trong danh sách
NOT Không đáp ứng điều kiện
BETWEEN Nằm trong một khoảng (gồm cả giá trị đầu và cuối)
IS NULL Giá trị NULL
IS NOT NULL Giá trị không NULL
LIKE Kết hợp mẫu với % và _
EXISTS Điều kiện được đáp ứng nếu truy vấn nội bộ (subquery) trả lại ít nhất 1 hàng

Còn có nhiều toán tử so sánh trong SQL Server và Transact-SQL. Dưới đây là cách dùng một số toán tử thông dụng.

Ví dụ – Toán tử ngang hàng

SELECT *
FROM nhanvien
WHERE ten = Jane’;

Ở ví dụ này, lệnh SELECT sẽ trả lại kết quả là các hàng từ bảng nhanvien với các nhân viên có tên là Jane.

Ví dụ – Toán tử không ngang hàng

Trong SQL Server, có thể dùng <> hoặc != để kiểm tra tính không ngang hàng trong truy vấn.

SELECT *
FROM nhanvien
WHERE ten <> Jane’;

Lệnh SELECT trên đây sẽ trả về các hàng trong bảng nhanvien có tên không phải là Jane. Lệnh trên có thể viết cách khác như sau. Cả 2 truy vấn đều cho ra cùng 1 bộ kết quả.

SELECT * FROM nhanvien WHERE ten != Jane’;

Ví dụ – Toán tử lớn hơn

SELECT * FROM nhanvien WHERE nhanvien_id > 3000;

Kết quả tra về của lệnh SELECT nói trên là các hàng trong bảng nhanvien mà ID của nhân viên lớn hơn 3000, ID nhân viên bằng 3000 sẽ không nằm trong kết quả.

Ví dụ – Toán tử lớn hơn hoặc bằng

SELECT * FROM nhanvien WHERE nhanvien_id >= 3000;

Ví dụ trên sẽ trả về các hàng có ID nhân viên lớn hơn hoặc bằng 3000 trong bảng nhanvien.

Ví dụ – Toán tử nhỏ hơn

SELECT * FROM nhanvien WHERE nhanvien_id < 500;

Tương tự, kết quả của lệnh này là các hàng trong băng nhanvien có ID của nhân viên nhỏ hơn 500, không bao gồm ID 500.

Ví dụ – Toán tử nhỏ hơn hoặc bằng

SELECT *
FROM nhanvien WHERE nhanvien_id <= 500;

Kết quả của lệnh này là các hàng trong bảng nhanvien có nhanvien_id nhỏ hơn hoặc bằng 500.

Ví dụ – Toán tử nâng cao hay toán tử logic

Các toán tử nâng cao dưới đây sẽ có từng bài hướng dẫn cụ thể cho chúng.

IN ()
NOT
BETWEEN
IS NULL
IS NOT NULL
LIKE
EXISTS