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 的数字筛选器。