Sobes.tech
Senior
55

-- Постоје табеле са структуром Запослени id (PK) име плата dep_id (FK department.id) Одељење id (PK) име -- напишите упит који ће вратити списак назива свих одељења са максималном платом у сваком одељењу select d.име, MAX(e.плата) from Запослени e join Одељење d on e.dep_id = d.id group by d.име

Компаније где су питане
СБЕРСБЕР

Одговор од АИ

sobes.tech АИ

Запрос, который вы привели, корректно возвращает список отделов с максимальной зарплатой в каждом из них:

select d.name, MAX(e.salary) as max_salary
from Employee e
join Department d on e.dep_id = d.id
group by d.name

Если нужно дополнительно вывести отделы, в которых нет сотрудников, то стоит использовать LEFT JOIN:

select d.name, MAX(e.salary) as max_salary
from Department d
left join Employee e on e.dep_id = d.id
group by d.name

В этом случае для отделов без сотрудников max_salary будет NULL.