-- Выведем список сотрудников, у которых зарплата выше, чем средняя в отделе,

Коррелированный подзапрос вычисляет среднюю зарплату сотрудников того же отдела, а внешний WHERE оставляет зарплаты выше неё. Схема таблицы в условии не задана, поэтому имена нужно согласовать.

Короткий ответ

Что ответить на собеседовании

Коррелированный подзапрос вычисляет среднюю зарплату сотрудников того же отдела, а внешний WHERE оставляет зарплаты выше неё. Схема таблицы в условии не задана, поэтому имена нужно согласовать.

Подробный разбор

Ответ с пояснениями

Условие

-- Выведем список сотрудников, у которых зарплата выше, чем средняя в отделе, -- в котором работает данный сотрудник, через коррелированный подзапрос

Ответ

Коррелированный подзапрос вычисляет среднюю зарплату сотрудников того же отдела, а внешний WHERE оставляет зарплаты выше неё. Схема таблицы в условии не задана, поэтому имена нужно согласовать.

Для таблицы employees(id, name, department_id, salary):

SELECT e.id, e.name, e.salary, e.department_id
FROM employees e
WHERE e.salary > (
  SELECT AVG(other.salary)
  FROM employees other
  WHERE other.department_id = e.department_id
);

AVG игнорирует NULL-зарплаты; сотрудник с NULL-зарплатой не пройдёт сравнение. NULL department_id здесь не образует общий отдел через равенство — если такая группа нужна, её обработку определяют отдельно.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее