WHERE 子句
WHERE
子句指定应用于数据的条件或过滤器。这样,您就可以只选择特定的数据子集。WHERE
子句紧跟在 FROM
子句之后使用。
以下是带有可选 WHERE
子句的 SELECT 语句的基本句法:
SELECT column1, column2, columnN
FROM table_name
WHERE condition
在此,condition
是指任何求值结果为布尔类型的表达式。任何不满足此条件的行都将从输出中移除。如果将实际行值替换为变量引用后返回 true,则该行满足条件。条件表达式中允许使用子查询。
WHERE
子句的基本示例:
-- 计算每个部门每个职务的平均工资
-- 仅筛选结果集,包括平均工资超过 50000 美元的部门和职务
SELECT department, job_title, AVG(salary)
FROM employees
WHERE salary >= 50000
GROUP BY department, job_title;
查询结果是一个包含部门、职位和平均工资列的表格。每一行代表某部门某职位的平均工资,并且只返回平均工资超过 50000 美元的组。
请注意,本例中的 WHERE
子句位于 GROUP BY
子句之前,因为 WHERE
子句在执行聚合之前过滤表中的行。相反,HAVING
子句在执行聚合之后过滤数据。