为什么我们不能使用比较运算符 (=) 从表中获取带有 NULL 的行?
mysqlmysqli database更新于 2025/5/20 18:20:17
我们不能使用 =(比较运算符),因为我们知道 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; 空集 (0.00 秒)
上述查询使用 =(比较运算符),因此生成空集,因为 NULL 不是值。
相关文章
有用资源
mysql 参考教程 - 该教程包含有关 mysql 的更多信息:https://www.cainiaomax.com/mysql/

