MySQL-- NULL值的判断

发布时间 2023-10-25 23:50:06作者: 漫思

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