Trong bài viết này, bạn sẽ học được cách sử dụng toán tử NOT IN trong MySQL để kiểm tra xem một giá trị có nằm trong danh sách các giá trị hay không.
Toán tử NOT IN toán tử IN:
value NOT IN (value1, value2, value2)
Toán tử NOT IN trả về 1 nếu giá trị không bằng bất kỳ giá trị nào trong danh sách. Ngược lại nó sẽ trả về 0.
Ví dụ sau sử dụng toán tử NOT IN để kiểm tra xem số 1 có trong danh sách (1,2,3) hay không:
SELECT 1 NOT IN (1,2,3);
Kết quả:
+------------------+ | 1 NOT IN (1,2,3) | +------------------+ | 0 | +------------------+ 1 row in set (0.00 sec)
Nó trả về 0 (false) vì 1 không nằm trong danh sách trên.
Ví dụ sau sử dụng toán tử NOT IN để kiểm tra xem 0 có trong danh sách (1,2,3) hay không:
SELECT 0 NOT IN (1,2,3);
Kết quả:
+------------------+ | 0 NOT IN (1,2,3) | +------------------+ | 1 | +------------------+ 1 row in set (0.00 sec)
Toán tử NOT IN trả về NULL nếu giá trị ở bên trái của toán tử IN là NULL. Ví dụ:
SELECT NULL NOT IN (1,2,3);
Kết quả:
+---------------------+ | NULL NOT IN (1,2,3) | +---------------------+ | NULL | +---------------------+ 1 row in set (0.00 sec)
Về mặt kỹ thuật, toán tử NOT IN tương đương như sau:
NOT (value = value1 OR value = value2 OR value = valu3)
Hoặc:
value <> value1 AND value <> value2 AND value <> value3
Chúng tôi sẽ sử dụng bảng offices từ cơ sở dữ liệu mẫu để minh họa toán tử NOT IN :

Ví dụ sau sử dụng toán tử NOT IN để tìm các văn phòng không đặt tại France và USA:
SELECT
officeCode,
city,
phone
FROM
offices
WHERE
country NOT IN ('USA' , 'France')
ORDER BY
city;Kết quả:
+------------+--------+------------------+ | officeCode | city | phone | +------------+--------+------------------+ | 7 | London | +44 20 7877 2041 | | 6 | Sydney | +61 2 9264 2451 | | 5 | Tokyo | +81 33 224 5000 | +------------+--------+------------------+ 3 rows in set (0.02 sec)
NOT IN để kiểm tra xem một giá trị có không khớp với bất kỳ giá trị nào trong danh sách hay không.Bài viết liên quan:
Các bạn có thể xem thêm ở đây: https://www.mysqltutorial.org/mysql-basics/mysql-in/
Bình luận: