Сотрудники с отсутствующим в базе менеджером

Выберите сотрудников с salary < 30000 и ненулевым manager_id, для которого нет строки руководителя. Условие manager_id IS NOT NULL исключит сотрудников без назначенного начальника.

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

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

Выберите сотрудников с salary < 30000 и ненулевым manager_id, для которого нет строки руководителя. Условие manager_id IS NOT NULL исключит сотрудников без назначенного начальника.

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

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

Условие

Сформулируйте SQL‑запрос, который вернёт идентификаторы работников, получающих зарплату менее 30 000 единиц, а их непосредственный руководитель уже не работает в компании. При уходе сотрудника его запись удаляется из таблицы Employees, однако у подчинённых остаётся прежний manager_id.

В таблице employee_id выступает в роли первичного ключа. Таблица хранит сведения о работниках, их заработной плате и идентификаторе руководителя. Для некоторых записей значение manager_id равно NULL, что указывает на отсутствие руководителя.

Необходимо вывести результат в виде столбцов (employee_id, salary), отсортированных по employee_id.

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| employee_id | int     |
| name        | varchar |
| manager_id  | int     |
| salary      | int     |
+-------------+---------+

Ответ

Выберите сотрудников с salary < 30000 и ненулевым manager_id, для которого нет строки руководителя. Условие manager_id IS NOT NULL исключит сотрудников без назначенного начальника.

SELECT e.employee_id, e.salary
FROM Employees e
WHERE e.salary < 30000
  AND e.manager_id IS NOT NULL
  AND NOT EXISTS (
      SELECT 1
      FROM Employees manager
      WHERE manager.employee_id = e.manager_id
  )
ORDER BY e.employee_id;

NOT EXISTS проверяет отсутствие конкретного руководителя и не страдает от ловушки NULL, характерной для NOT IN. Первичный ключ employee_id поддерживает поиск руководителя. Зарплата ровно 30000 не проходит фильтр; NULL в salary также не проходит сравнение.

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

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

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

Подробнее