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


相关文章


有用资源