题解 | #获取每个部门中当前员工薪水最高的相关信息#
获取每个部门中当前员工薪水最高的相关信息
https://www.nowcoder.com/practice/4a052e3e1df5435880d4353eb18a91c6
-- 1. 第一步先通过左查询关联dept_emp,salaries表,连接条件是emp_no,得到一个员工信息和薪资信息的子表de1
-- 2. 第二步通过左查询关联dept_emp,salaries表,连接条件是emp_no,然后根据dept_no进行分组,使用max函数查询出部门最高薪资表max_ds
-- 3. 然后将两个表用dept_no做关联,用de1.salary = max_ds.maxSalary做过滤,得出部门最高的员工信息
select
de1.dept_no,
de1.emp_no,
max_ds.maxSalary
from
(
select
de.dept_no,
de.emp_no,
s.salary
from
dept_emp as de
left join salaries as s on de.emp_no = s.emp_no
) de1,
(
select
de.dept_no,
max(s.salary) as maxSalary
from
dept_emp as de
left join salaries as s on de.emp_no = s.emp_no
group by
dept_no
) max_ds
where
de1.dept_no = max_ds.dept_no
and de1.salary = max_ds.maxSalary
order by de1.dept_no;
查看4道真题和解析