Sử dụng NOT IN() trong mệnh đề WHERE để loại trừ các ID cụ thể.
Tạo bảng và dữ liệu
mysql> CREATE TABLE DemoTable791(
Id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
FirstName VARCHAR(100)
);
Query OK, 0 rows affected (0.61 sec)
mysql> INSERT INTO DemoTable791(FirstName) VALUES
('Chris'), ('Robert'), ('David'), ('Mike'), ('Bob'), ('Carol'), ('Adam');
Query OK, 7 rows affected
Loại trừ ID 4, 5, 6
mysql> SELECT * FROM DemoTable791 WHERE Id NOT IN(4, 5, 6);
Kết quả:
+----+-----------+ | Id | FirstName | +----+-----------+ | 1 | Chris | | 2 | Robert | | 3 | David | | 7 | Adam | +----+-----------+
Lưu ý với NULL: Nếu cột chứa NULL, NOT IN sẽ không trả về hàng đó (vì NULL NOT IN (...) = UNKNOWN). Cần thêm OR column IS NULL nếu muốn giữ NULL.
Hiệu năng: Với danh sách lớn, dùng NOT EXISTS (SELECT 1 FROM excluded WHERE id = t.id) thường nhanh hơn.