题解 | #获取每个部门中当前员工薪水最高的相关信息#
获取每个部门中当前员工薪水最高的相关信息
http://www.nowcoder.com/practice/4a052e3e1df5435880d4353eb18a91c6
接替思路可能比较麻烦,但是是自己想的,所以分享出来
首先t1,t3表是相同的,可能是冗余,但是自己没想到好的方案
首先查出所有员工的员工号和部门,薪水,并按照薪水排序,生成t1,t3表
然后从t1表中查出部门中最高的工资和部门号,得到t2表
最后t2,和t3表联查得到相应的信息
select t2.dept_no,t3.emp_no,t2.salary
from (select dept_no,max(salary) salary from (
select dept_emp.dept_no,dept_emp.emp_no,salaries.salary
from dept_emp,salaries
where dept_emp.emp_no=salaries.emp_no
order by salaries.salary desc) t1
group by dept_no) t2 ,(
select dept_emp.dept_no,dept_emp.emp_no,salaries.salary
from dept_emp,salaries
where dept_emp.emp_no=salaries.emp_no
order by salaries.salary desc) t3
where t2.dept_no=t3.dept_no and t2.salary=t3.salary order by t2.dept_no