先找到每个部门的最高薪资 使用窗口函数 以 dept_no 进行分组,可能会存在薪资相同,所以使用 distinct 去重
select distinct dept_no,max(salary) over(partition by dept_no)
from dept_emp join salaries using(emp_no)
然后判断 dept_no,salary 在筛选出的每个部门最高薪资 最后 dept_no 进行排序
select dept_no, emp_no,salary maxSalary
from dept_emp join salaries using(emp_no)
where (dept_no, salary) in
(select distinct dept_no,max(salary) over(partition by dept_no)
from dept_emp join salaries using(emp_no))
order by dept_no;