Я работаю с базой данных Oracle по умолчанию scott
с дополнительной таблицей PROJECT, в которой есть два столбца: projectno
и empno
.
Я хочу выбрать имена сотрудников с самой высокой зарплатойдля каждого проекта.
Я знаю, как сделать это с некоррелированным подзапросом:
SELECT p.projno,
e.sal,
e.ename
FROM emp e
INNER
JOIN proj_emp p
ON e.empno = p.empno
WHERE (e.sal, p.projno)
IN (SELECT MAX(e.sal),
p.projno
FROM emp e INNER JOIN proj_emp p
ON e.empno = p.empno
GROUP BY p.projno)
Однако меня попросили сделать это с коррелированным подзапросом, записанным в предложении WHERE
, номне интересно, если это возможно?