Điều kiện NOT trong SQL Server

Điều kiện NOT trong SQL Server (Transact-Server) còn được gọi là toán tử NOT, được dùng để phủ định điều kiện trong các lệnh SELECT, INSERT, UPDATE và DELETE.

Cú pháp điều kiện NOT

NOT “điều kiện”

Tên biến hoặc giá trị biến

điều kiện

Điều kiện cần phải 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” thì mới được trả về trong bộ 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 sẽ trả về tất cả các hàng từ bảng nhanvien có tên không phải là John, Dale hay Susan. Đôi khi việc tìm các giá trị không phải giá trị cần tìm sẽ nhanh hơn.

Ví dụ - kết hợp điều kiện IS NULL

Đây là ví dụ kết hợp điều kiện 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 có 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 với những gì bạn 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ẽ cho các 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;

Ở ví dụ này, kết quả trả về là các hàng trong bảng nhân viên có nhanvien_id không nằm trong khoảng 200 và 250, tính cả 2 giá trị đầu và cuối. Nó sẽ 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ề các bản ghi từ bảng nhanvien nếu trong bảng danhba không có bản ghi nào có họ và tên giống.

Bài trước: Điều kiện LIKE trong SQL Server

Bài tiếp: ALIAS trong SQL Server

Thứ Sáu, 10/05/2019 10:50
51 👨 2.067