Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Truy vấn MySQL hiển thị bản ghi theo điều kiện IS NULL OR != 1

Để 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.