题解 | #获取每个部门中当前员工薪水最高的相关信息#
获取每个部门中当前员工薪水最高的相关信息
http://www.nowcoder.com/practice/4a052e3e1df5435880d4353eb18a91c6
核心思路就是两张特殊表:
表一(aaa):用来将部门表和薪水表数据整合到一张表上
表二(bbb):用来计算每个部门最高的薪水和对应部门编号
最后就是同时查询表一和表二,添加限制条件:部门必须对的上,而且薪水也对的上;
还有别忘了,部门编号排序。
SELECT aaa.de,aaa.se,aaa.sa
FROM(SELECT d.dept_no de,s.emp_no se,s.salary sa
FROM dept_emp d
JOIN salaries s
ON d.emp_no=s.emp_no) as aaa,
(SELECT max(s.salary) as ma,e.dept_no as da
FROM dept_emp e
JOIN salaries s
ON e.emp_no=s.emp_no
GROUP BY e.dept_no) as bbb
WHERE aaa.sa=bbb.ma AND aaa.de=bbb.da
ORDER BY aaa.de;