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

Bỏ qua giá trị NULL và chỉ hiển thị giá trị có dữ liệu trong MySQL

Để lọc bỏ các hàng có cột là NULL và chỉ giữ lại hàng có giá trị thực, MySQL dùng toán tử IS NOT NULL trong mệnh đề WHERE. Đây là cách chuẩn và duy nhất đúng để kiểm tra "không phải NULL".

Ví dụ minh họa

Tạo bảng điểm sinh viên:

mysql> CREATE TABLE DemoTable1458 (
    StudentName VARCHAR(20),
    StudentScore INT
);

Chèn dữ liệu (có NULL):

mysql> INSERT INTO DemoTable1458 VALUES ('Chris Brown', 56);
mysql> INSERT INTO DemoTable1458 VALUES ('David Miller', NULL);
mysql> INSERT INTO DemoTable1458 VALUES ('John Doe', 78);
mysql> INSERT INTO DemoTable1458 VALUES ('Adam Smith', NULL);

Dữ liệu:

mysql> SELECT * FROM DemoTable1458;
+--------------+--------------+
| StudentName  | StudentScore |
+--------------+--------------+
| Chris Brown  |           56 |
| David Miller |         NULL |
| John Doe     |           78 |
| Adam Smith   |         NULL |
+--------------+--------------+

Lọc chỉ hàng có điểm (NOT NULL)

mysql> SELECT StudentName, StudentScore 
    FROM DemoTable1458 
    WHERE StudentScore IS NOT NULL;

Kết quả (2 hàng):

+-------------+--------------+
| StudentName | StudentScore |
+-------------+--------------+
| Chris Brown |           56 |
| John Doe    |           78 |
+-------------+--------------+

Các lỗi thường gặp

SaiĐúngLý do
WHERE Score <> NULLWHERE Score IS NOT NULLNULL <> NULL là UNKNOWN, không phải TRUE
WHERE Score = NULLWHERE Score IS NULLTương tự, không bao giờ TRUE
WHERE NOT (Score = NULL)WHERE Score IS NOT NULLLogic 3 giá trị: NOT UNKNOWN = UNKNOWN

Kết hợp với các điều kiện khác