列出各個部門中工資高於本部門的平均工資的員工數和部門號,並按部門號排序(用sql語句來表達)。
阿新 • • 發佈:2018-04-22
AR 思路 進行 info family order size table ID
查詢出各個部門中工資高於本部門的平均工資的員工數和部門號,並按部門號排序(用sql語句來表達)
1.創建的表格
2.思路:
(1)首先查詢各個部門的平均工資
1 select deptid ,avg(salary) as avg_salary from Employee group by deptid;
-----> 查詢結果:
(2)利用聯合查詢的思想進行查詢:select * from table1,table2 where table1.name=table2.name
即把Employee表與上表查詢出的結果進行聯合查詢,找出所有工資大於平均工資的記錄。
1 select table1.* from Employee as table1, 2 (select deptid ,avg(salary) as avg_salary from Employee group by deptid) as table2 3 where table1.deptid=table2.deptid and table1.salary>table2.avg_salary;
---->查詢結果:
(3)查詢出各個部門中工資高於本部門的平均工資的員工數和部門號,並按部門號排序
1 select table1.deptid,count(*) from Employee as table1, 2 (select deptid ,avg(salary) as avg_salary from Employee group by deptid) as table2 3 where table1.deptid=table2.deptid and table1.salary>table2.avg_salary 4 group by table1.deptid order by table1.deptid;
----->查詢結果:
列出各個部門中工資高於本部門的平均工資的員工數和部門號,並按部門號排序(用sql語句來表達)。