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.
Giới thiệu về toán tử NOT IN trong MySQL
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
Ví dụ về toán tử NOT IN trong MySQL
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)
Tổng kết
- Sử dụng MySQL
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:
- Seri MySQL cơ bản
- Câu lệnh SELECT FROM trong MySQL
- MySQL SELECT
- MySQL AND, Cách Sử Dụng Toán Tử AND Trong MySQL / Mariadb
- Sử dụng OR trong Mysql / Mariadb như thế nào?
Các bạn có thể xem thêm ở đây: https://www.mysqltutorial.org/mysql-basics/mysql-in/