为什么我们不能使用比较运算符(=)来获取表中带 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 不是一个值。
广告