# 方法1 select dept_no,emp_no,salary from (select *,dense_rank()over(partition by dept_no order by salary desc) rank1 from (select dept_no,dept_emp.emp_no,salary from dept_emp left join salaries on (dept_emp.emp_no = salaries.emp_no))t1)t1 where rank1 = 1 #方法2 select dept_no,dept_emp.emp_no,salary from dept_emp left join salaries on (dept_emp.emp_no = salaries.emp_no) where (dept_no,salary) in (select dept_no,max(salary) from dept_emp left join salaries on (dept_emp.emp_no = salaries.emp_no) group by dept_no) order by dept_no