贝利信息

sql中having和where的用法

日期:2024-05-02 00:00 / 作者:下次还敢
WHERE 子句在 SELECT 语句中筛选行,根据行条件过滤基础数据。HAVING 子句在 GROUP BY 语句中筛选组,根据组的聚合结果过滤组。主要区别:WHERE 处理单个行,评估行的条件;HAVING 处理组,评估组的聚合结果;WHERE 影响哪些行包含在结果中,HAVING 影响哪些组包含在结果中。

WHERE 和 HAVING 子句在 SQL 中的用法

WHERE 和 HAVING 子句在 SQL 中用于过滤数据集,但它们在处理上下文和目标方面有所不同:

WHERE 子句:

示例:

SELECT * FROM employees WHERE salary > 50000;

此查询返回所有工资大于 50,000 美元的员工。

HAVING 子句:

示例:

SELECT department, SUM(salary) AS total_salary
FROM employees
GROUP BY department
HAVING total_salary > 100000;

此查询返回所有部门的总工资,其中总工资大于 100,000 美元。

主要区别: