NULL 到底是什么

NULL 不是空字符串也不是 0,它代表「未知 / 缺失」。正因为它语义特殊,普通比较运算符对它就失效了——这是绝大多数查不出数据、统计对不上的根源。

NULL 到底是什么要点

NULL 到底是什么示例

						-- staff 表:name / salary / bonus
						SELECT * FROM staff WHERE bonus IS NULL;
						SELECT * FROM staff WHERE bonus IS NOT NULL;

						-- 错误示范:下面两条永远查不到任何行
						SELECT * FROM staff WHERE bonus = NULL;
						SELECT * FROM staff WHERE bonus != NULL;

NULL 到底是什么对照

写法 含义 能否命中 NULL 行
col IS NULL 列值为空
col IS NOT NULL 列值不为空
col = NULL 未知比较 不能
col != NULL 未知比较 不能
避坑提醒:记住一句口诀:NULL 只能「IS」,不能「=」。任何用等号比 NULL 的 SQL 都先怀疑它。
NULL 到底是什么 · NULL 值处理 知识卡片
卡片 02 / 07 · NULL 值处理(1080×1440 速查卡片)

NULL 值处理知识点