with
    c as (
        select
            a.dept_no,
            a.emp_no,
            b.salary,
            rank() over (
                partition by
                    a.dept_no
                order by
                    b.salary desc
            ) as ranking
        from
            dept_emp a
            join salaries b using (emp_no)
    )
select
    dept_no,
    emp_no,
    salary
from
    c c
where
    ranking = 1
order by
    dept_no asc