Skip to content

5.2 — 处理NULL值

你将学习

  • SQL中NULL的含义
  • 如何筛选、替换和处理缺失值
  • Excel空白单元格与SQLNULL的区别

什么是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替换或标记缺失值

下一步

接下来,您将学习子查询——在其他查询中嵌套查询以实现动态筛选。