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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?