MySQL-- NULL值的判断
前置知识
- 空值即 NULL,该值不同于 0,也不同于 空字符串
- 字段值是否为空值(NULL)的判断
- IS [NOT] NULL, 其中 NOT 为可选参数,表示字段值不为空值
- 注意:IS NULL 是一个整体,不能将 IS 换成 =。同理 IS NOT NULL 中的 IS NOT 不能换成 != 或 <>
-
MySQL 使用三值逻辑 -- TRUE, FALSE 和 UNKNOWN。任何与 NULL 值进行的比较都会与第三种值 UNKNOWN 做比较。这个“任何值”包括 NULL 本身
示例
给定表 customer ,里面保存了所有客户信息和他们的推荐人
+------+------+-----------+
| id | name | referee_id|
+------+------+-----------+
| 1 | Will | NULL |
| 2 | Jane | NULL |
| 3 | Alex | 2 |
| 4 | Bill | NULL |
| 5 | Zack | 1 |
| 6 | Mark | 2 |
+------+------+-----------+
写一个查询语句,返回一个客户列表,列表中客户的推荐人的编号都 不是 2。对于上面的示例数据,结果为
+------+
| name |
+------+
| Will |
| Jane |
| Bill |
| Zack |
+------+
答案
select name
from customer
where referee_id <> 2 or referee_id is null