为什么我们不能使用比较运算符(=)从表中获取带有NULL的行?

我们不能使用=(比较运算符),因为我们知道NULL不是值。如果要从表中获取带有NULL的行,则需要在MySQL查询中使用IS NULL运算符。以下示例使用“员工”表中的数据进行展示-

示例

mysql> Select * from Employee WHERE Salary IS NULL;

+----+-------+--------+
| ID | Name  | Salary |
+----+-------+--------+
| 7  | Aryan | NULL   |
| 8  | Vinay | NULL   |
+----+-------+--------+

2 rows in set (0.00 sec)

上面的查询使用IS NULL运算符,并在salary列为NULL的地方生成输出。

mysql> Select * from employee where salary = NULL;
Empty set (0.00 sec)

上面的use =(比较运算符)查询会生成空集,因为NULL不是值。

猜你喜欢