思路:先查出每个部门的最高薪水(group by 对部门进行分组,不受不同部门同薪的情况影响),再以部门和薪水作为筛选条件,找出对应的员工编号(distinct 避免同个部门出现多个同薪的情况)

select distinct d1.dept_no,d1.emp_no,s1.salary maxSalary
from dept_emp d1 inner join salaries s1
on d1.emp_no = s1.emp_no
where (d1.dept_no,s1.salary)
in
(
select d2.dept_no,max(s2.salary)
from dept_emp d2 inner join salaries s2
on d2.emp_no=s2.emp_no
group by d2.dept_no)
order by dept_no;