为什么我们不能对表中的 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 不是一个值。

更新于: 2020 年 2 月 6 日

52 次浏览

启动您的 职业

通过完成课程获得认证

开始
广告