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

Bài trước: Mệnh đề FROM trong SQL Server

Bài tiếp: Mệnh đề WHERE trong SQL Server

Thứ Sáu, 10/05/2019 09:53
31 👨 6.937