| 用途 | 过滤参与后续处理的行 |
|---|---|
| 时机 | FROM 之后、GROUP BY 之前 |
| 结果为 NULL | 视为不满足,行被丢弃 |
示例
示例
SELECT id, name, status
FROM users
WHERE city = 'Beijing'
AND status = 1
AND vip IS NOT NULL
LIMIT 20;WHERE 与 HAVING 区别:WHERE 过滤行,HAVING 过滤分组后的聚合结果。
在分组与排序之前过滤行:WHERE 只保留条件为 TRUE 的行;结合 IS NULL、范围与集合条件可以精确圈定数据。
| 用途 | 过滤参与后续处理的行 |
|---|---|
| 时机 | FROM 之后、GROUP BY 之前 |
| 结果为 NULL | 视为不满足,行被丢弃 |
SELECT id, name, status
FROM users
WHERE city = 'Beijing'
AND status = 1
AND vip IS NOT NULL
LIMIT 20;