用窗口函数可以解决这个问题 select dept_no, emp_no, salary as maxSalary from ( select a.dept_no, a.emp_no, b.salary, row_number() over(partition by a.dept_no order by b.salary desc) as rk from dept_emp as a inner join salaries as b on a.emp_no = b.emp_no order by a.dept_no asc ) a where rk = 1