Вам нужен раздел в вашем звонке на DENSE_RANK
:
SELECT dep_name, salary
FROM
(
SELECT d.dep_name, e.salary,
DENSE_RANK() OVER (PARTITION BY d.dep_id ORDER BY e.salary DESC) AS rnk
FROM employee e
INNER JOIN department d
ON e.Department_id = d.dep_id
) t
WHERE rnk = 1;
Основная идея PARTITION
в отделе состоит в том, что мы хотим назначить отдельный ранг для отдела каждому сотруднику вкаждый отдел.Что касается ваших двух таблиц, мы присоединяем сотрудника к отделу, чтобы ввести информацию об отделе для каждого сотрудника.