Skip to content

2.1 — WHERE:SQL 过滤器

你将学到什么

  • 如何用 WHERE 子句在 SQL 中筛选数据
  • SQL 筛选与 Excel 的对比
  • 常用比较运算符

从 Excel 到 SQL:筛选行

在 Excel 中,你用筛选器只显示关心的行。在 SQL 中,用 WHERE 子句实现同样的效果。

Excel:
对“产品”列应用筛选,只显示“苹果”。

SQL:

sql
SELECT * FROM sales
WHERE Product = 'Apples';
  • WHERE 告诉 SQL 只返回满足条件的行。
  • Product = 'Apples' 是筛选条件。

常用比较运算符

运算符含义示例
=等于Product = 'Apples'
<>不等于Product <> 'Oranges'
>大于Amount > 100
<小于Amount < 100
>=大于等于Amount >= 100
<=小于等于Amount <= 100

试一试

显示所有金额大于 100 的销售:

sql
SELECT * FROM sales
WHERE Amount > 100;

关于 NULL 值的特别说明

在 SQL 中,缺失数据叫 NULL

  • WHERE Amount = NULL 无效
  • WHERE Amount IS NULL 查找缺失金额的行。
  • WHERE Amount IS NOT NULL 排除缺失值。

提示:
如果你想把 NULL 当作默认值(如缺失金额视为 0),可用 COALESCE 函数:

sql
SELECT *, COALESCE(Amount, 0) AS Amount_Defaulted
FROM sales
WHERE COALESCE(Amount, 0) > 100;
  • COALESCE(Amount, 0) 如果 Amount 不为 NULL 返回其值,否则返回 0。
  • 适合需要把缺失值当默认值处理时。

关键点

  • WHERE 筛选行,就像 Excel 筛选。
  • 配合比较运算符灵活筛选。
  • 处理 NULL 值要特别注意。

下一步

接下来你将学习如何筛选数字和区间——就像 Excel 的数字筛选器。