Để lọc bản ghi thỏa mãn: cột Score là NULL HOẶC khác 1, bạn dùng điều kiện IS NULL OR != 1 trong mệnh đề WHERE.
Ví dụ minh họa
Tạo bảng:
mysql> create table DemoTable (
Id int NOT NULL AUTO_INCREMENT PRIMARY KEY,
Name varchar(100),
Score int
);
Chèn dữ liệu:
mysql> insert into DemoTable(Name,Score) values('John',45);
mysql> insert into DemoTable(Name,Score) values('Chris',null);
mysql> insert into DemoTable(Name,Score) values('David',null);
mysql> insert into DemoTable(Name,Score) values('Bob',1);
Hiển thị dữ liệu:
mysql> select * from DemoTable;
Kết quả:
+----+-------+-------+ | Id | Name | Score | +----+-------+-------+ | 1 | John | 45 | | 2 | Chris | NULL | | 3 | David | NULL | | 4 | Bob | 1 | +----+-------+-------+
Truy vấn WHERE Score IS NULL OR Score != 1
mysql> select * from DemoTable where Score IS NULL OR Score!=1;
Kết quả:
+----+-------+-------+ | Id | Name | Score | +----+-------+-------+ | 1 | John | 45 | | 2 | Chris | NULL | | 3 | David | NULL | +----+-------+-------+
Giải thích:
Score IS NULL: Khớp hàng 2, 3 (NULL không thể so sánh bằng = hay !=)Score != 1: Khớp hàng 1 (45 != 1), hàng 4 (1 != 1 → FALSE)OR: Hợp nhất → hàng 1,2,3- Hàng 4 (Bob, Score=1) bị loại vì: không NULL VÀ bằng 1
Lưu ý logic: NULL != 1 là UNKNOWN (không TRUE), nên hàng NULL không được chọn bởi điều kiện != 1 đơn lẻ. Phải dùng IS NULL tường minh.