select dept_no
, s.emp_no
, salary maxSalary
from
(select dept_no
, d.emp_no
, salary maxSalary
,rank() over(partition by dept_no order by salary desc) new
from dept_emp d
join salaries s
on d.emp_no=s.emp_no and d.to_date = '9999-01-01' and s.to_date='9999-01-01'
) as rk
join salaries s
on rk.emp_no=s.emp_no 
where rk.new = 1
order by dept_no asc

用子查询解决问题,欢迎大家讨论