题解 | #获取每个部门中当前员工薪水最高的相关信息#
获取每个部门中当前员工薪水最高的相关信息
http://www.nowcoder.com/practice/4a052e3e1df5435880d4353eb18a91c6
先选出每个部门中最高的薪资
select de.dept_no,max(s.salary) as maxSalary
from dept_emp de join salaries s
on de.emp_no=s.emp_no
group by de.dept_no
将员工信息、部门信息以及工资信息合成一张表
select de.emp_no,de.dept_no,s.salary
from dept_emp de join salaries s
on de.emp_no=s.emp_no
按照最高薪资和员工编号链接上述两张表
select a.dept_no,hh.emp_no,a.maxSalary
from (select de.emp_no,de.dept_no,s.salary from dept_emp de join salaries s on de.emp_no=s.emp_no) hh
join
(select de.dept_no,max(s.salary) as maxSalary
from dept_emp de join salaries s on de.emp_no=s.emp_no
group by de.dept_no) a
on hh.salary=a.maxSalary and hh.dept_no=a.dept_no;