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

Tại sao không dùng toán tử so sánh (=) để lấy hàng có NULL từ bảng?


Không dùng = vì NULL không phải là giá trị. Muốn lấy hàng có NULL, phải dùng toán tử IS NULL. Ví dụ với bảng 'employee':

Ví dụ

mysql> SELECT * FROM Employee WHERE Salary IS NULL; 
+----+-------+--------+ 
| ID | Name  | Salary | 
+----+-------+--------+ 
| 7  | Aryan | NULL   | 
| 8  | Vinay | NULL   | 
+----+-------+--------+ 
2 rows in set (0.00 sec)

Truy vấn dùng IS NULL cho ra hàng có Salary là NULL.

mysql> SELECT * FROM employee WHERE salary = NULL; 
Empty set (0.00 sec)

Dùng = (toán tử so sánh) cho kết quả rỗng vì NULL không phải giá trị.