为什么我们不能对表中的 NULL 行使用比较运算符 (=)?
我们不能使用 = 比较运算符,因为我们知道 NULL 不是一个值。如果我们想从表中获取 NULL 行,则需要在 MySQL 查询中使用 IS NULL 运算符。以下示例使用来自 employee 表中的数据将会展示效果:-
示例
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)
上述查询使用 = 比较运算符,因此产生空集,因为 NULL 不是一个值。
广告