WHERE 子句在 SELECT 语句中筛选行,根据行条件过滤基础数据。HAVING 子句在 GROUP BY 语句中筛选组,根据组的聚合结果过滤组。主要区别:WHERE 处理单个行,评估行的条件;HAVING 处理组,评估组的聚合结果;WHERE 影响哪些行包含在结果中,HAVING 影响哪些组包含在结果中。
WHERE 和 HAVING 子句在 SQL 中的用法
WHERE 和 HAVING 子句在 SQL 中用于过滤数据集,但它们在处理上下文和目标方面有所不同:
WHERE 子句:
示例:
<code class="sql">SELECT * FROM employees WHERE salary > 50000;</code>
此查询返回所有工资大于 50,000 美元的员工。
HAVING 子句:
示例:
<code class="sql">SELECT department, SUM(salary) AS total_salary FROM employees GROUP BY department HAVING total_salary > 100000;</code>
此查询返回所有部门的总工资,其中总工资大于 100,000 美元。
主要区别:
以上是sql中having和where的用法的详细内容。更多信息请关注PHP中文网其他相关文章!