image.png
    HAVING 子句
    HAVING 子句是对查询出结果集分组后的结果进行过滤。
    约束分组结果
    用 WHERE 子句约束选择的行,用 HAVING 子句约束组。为了找到每个部门中的最高薪水,而且只显示最高薪水大于 $10,000 的那些部门,可以象下面这样做:

    1. 用部门号分组,在每个部门中找最大薪水。
    2. 返回那些有最高薪水大于 $10,000 的雇员的部门

    SELECT department_id,MAX(salary)
    FROM employees
    GROUP BY department_id
    HAVING MAX(salary)>10000;

    image.png
    示例:显示那些合计薪水超过 13,000 的每个工作岗位的合计薪水。排除那些JOB_ID中含有REP的工作岗位,并且用合计月薪排序列表。
    SELECT job_id,SUM(salary) PAYROLL
    FROM employees
    WHERE job_id NOT LIKE’%REP%’
    GROUP BY job_id
    HAVING SUM(salary)>13000 ORDER BY SUM(salary);