Sobes.tech
Senior
65

-- Υπάρχουν πίνακες με τη δομή Υπάλληλος id (PK) όνομα μισθός dep_id (FK department.id) Τμήμα id (PK) όνομα -- γράψτε ένα ερώτημα που θα επιστρέφει τη λίστα με τα ονόματα όλων των τμημάτων με το μέγιστο μισθό σε κάθε τμήμα select d.όνομα, MAX(e.μισθός) from Employee e join Department d on e.dep_id = d.id group by d.όνομα

Εταιρείες όπου ρωτήθηκαν
СБЕРСБЕР

Απάντηση από 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.