SQL‑запрос для получения идентификаторов сотрудников с зарплатой ниже 30 000 и ушедшим менеджером

Отберите salary < 30000 и ненулевой manager_id, которому не соответствует существующий employee_id. Отсутствие начальника изначально не равно увольнению начальника.

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

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

Отберите salary < 30000 и ненулевой manager_id, которому не соответствует существующий employee_id. Отсутствие начальника изначально не равно увольнению начальника.

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

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

Условие

Требуется составить запрос SQL, который вернёт идентификаторы сотрудников, чья зарплата строго меньше 30000, а их непосредственный руководитель больше не работает в компании. При увольнении сотрудника его запись удаляется из таблицы Employees, однако у подчинённых сохраняется значение manager_id.

Таблица: Employees

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

Поле employee_id является первичным ключом. У некоторых записей manager_id имеет значение NULL, что указывает на отсутствие руководителя. Необходимо вывести таблицу результатов с двумя столбцами (employee_id, salary), упорядочив её по employee_id.

Ответ

Отберите salary < 30000 и ненулевой manager_id, которому не соответствует существующий employee_id. Отсутствие начальника изначально не равно увольнению начальника.

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 в manager_id исключается явно; salary ровно 30000 также не подходит. Первичный ключ employee_id помогает поиску руководителя. Из условия следует возможность «висячих» ссылок, поэтому внешний ключ, запрещающий такую ситуацию, здесь не предполагается.

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

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

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

Подробнее