Jack's Notes3——数据库中子表sub的运用

时间:2022-04-10 16:08:56

--请找出有两人以上工资大于所在部门平均工资的部门,查询这些部门的id与这些人的人数。

--分解:

--1>.部门中有人的工资比部门的平均工资还高

--2>并且这些人的人数在人以上

--3>查询出这些部门Id与工资高于部门平均工资的人的人数。

select

    emp.Department_Id,

    count(*) as 超出平均工资的人数

from Employees as emp

where Salary>(select avg(salary) from employees emp_sub where emp_sub.department_id=emp.department_id)

group by emp.Department_Id

having COUNT(*)>2

order by emp.Department_Id