HAVING子句用于在GROUP BY子句之后对查询结果进行过滤。它通常与GROUP BY一起使用,用于筛选分组后的结果。
HAVING子句与WHERE子句类似,但WHERE用于筛选记录,而HAVING用于筛选分组。
具体来说,HAVING子句允许在分组之后使用聚合函数来筛选结果。它可以用于过滤具有特定条件的分组,例如筛选出分组中满足某个条件的记录。
例如,假设有一个表格存储了员工的工资信息,我们希望找出工资总额大于10000的部门。我们可以使用以下SQL语句:
SELECT department, SUM(salary) as total_salary
FROM employees
GROUP BY department
HAVING total_salary > 10000;
在这个例子中,首先通过GROUP BY子句将员工按部门进行分组,然后使用SUM函数计算每个部门的工资总额。最后,HAVING子句筛选出工资总额大于10000的部门。
需要注意的是,HAVING子句只能在GROUP BY子句之后使用,并且必须包含在SELECT语句中。