Back to questions
СБЕР
Senior
3
-- Есть таблицы со структурой Employee id (PK) name salary dep_id(FK department.id) Department id (PK) name -- написать запрос, который вернет список наименований всех отделов с максимальной зарплатой в каждом отделе select d.name, MAX(e.salary) from Employee e join Department d on e.dep_id = d.id group by d.name
Companies where asked
Answer from AI
sobes.tech AI
Запрос, который вы привели, корректно возвращает список отделов с максимальной зарплатой в каждом из них:
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.