with a as(
select dept_no,f.emp_no,salary from salaries f
left join dept_emp d
on d.emp_no = f.emp_no
),
b as(
select *,
rank() over(partition by dept_no order by salary desc) as rnk
from a
)
select dept_no,emp_no,salary from b
where rnk = 1
order by dept_no;