5.2 — 处理NULL值
你将学习
- SQL中
NULL
的含义 - 如何筛选、替换和处理缺失值
- Excel空白单元格与SQL
NULL
的区别
什么是NULL?
在SQL中,NULL
表示缺失或未知的数据——类似于Excel中的空白单元格。
筛选NULL值
查找Amount为空的记录:
sql
SELECT *
FROM sales
WHERE Amount IS NULL;
排除Amount为空的记录:
sql
SELECT *
FROM sales
WHERE Amount IS NOT NULL;
替换NULL值
使用COALESCE()
为NULL列提供默认值:
sql
SELECT Product, COALESCE(Amount, 0) AS Amount_Filled
FROM sales;
- 这将用
0
代替NULL
显示缺失的Amount值
使用CASE处理NULL
你也可以使用CASE
语句处理NULL
:
sql
SELECT Product,
CASE
WHEN Amount IS NULL THEN 'Missing'
ELSE CAST(Amount AS VARCHAR)
END AS Amount_Status
FROM sales;
关键要点
NULL
与零值或空字符串不同- 使用
IS NULL
/IS NOT NULL
进行筛选 - 使用
COALESCE()
或CASE
替换或标记缺失值
下一步
接下来,您将学习子查询——在其他查询中嵌套查询以实现动态筛选。