Điều kiện NOT trong SQL Server (Transact-SQL) còn gọi là toán tử NOT, dùng để phủ định điều kiện trong các câu lệnh SELECT, INSERT, UPDATE và DELETE.
Cú pháp điều kiện NOT
NOT 'dieu_kien'
Tham số
dieu_kien: Điều kiện cần phủ định.
Lưu ý
Điều kiện NOT yêu cầu bản ghi phải ngược lại với 'điều kiện' mới được trả về trong tập kết quả.
Ví dụ – kết hợp với điều kiện IN
SELECT *
FROM nhanvien
WHERE ten NOT IN ('John', 'Dale', 'Susan');
Ví dụ này trả về tất cả dòng từ bảng nhanvien có tên không phải John, Dale hoặc Susan. Đôi khi tìm giá trị không phải những gì đang tìm nhanh hơn.
Ví dụ – kết hợp điều kiện IS NULL
Ví dụ kết hợp NOT và IS NULL trong SQL Server.
SELECT *
FROM nhanvien
WHERE ho IS NOT NULL;
Kết quả trả về là tất cả bản ghi trong bảng nhanvien mà họ không chứa giá trị NULL.
Ví dụ – kết hợp điều kiện LIKE
Kết hợp LIKE và NOT để tìm giá trị ngược lại với mong muốn.
SELECT nhanvien_id, ho, ten
FROM nhanvien
WHERE ho NOT LIKE 'A%';
Khi đặt toán tử NOT trước điều kiện LIKE, kết quả sẽ là nhân viên có họ không bắt đầu bằng chữ 'A'.
Ví dụ – kết hợp điều kiện BETWEEN
SELECT *
FROM nhanvien
WHERE nhanvien_id NOT BETWEEN 200 AND 250;
Trong ví dụ này, kết quả trả về là các dòng trong bảng nhân viên có nhanvien_id không nằm trong khoảng 200 và 250 (bao gồm cả 2 giá trị đầu và cuối). Nó tương đương với lệnh SELECT dưới đây.
SELECT *
FROM nhanvien
WHERE nhanvien_id < 200
OR nhanvien_id > 250;
Ví dụ – kết hợp điều kiện EXISTS
SELECT *
FROM nhanvien
WHERE NOT EXISTS (SELECT *
FROM danhba
WHERE nhanvien.ho = danhba.ho
AND nhanvien.ten = danhba.ten);
Lệnh trong ví dụ trên sẽ trả về bản ghi từ bảng nhân viên nếu không có bản ghi trong danh bạ trùng họ và tên.