Как сделать SQL запрос для подсчета количества сотрудников в категориях зарплаты с выводом 0 для пустых категорий?

Чтобы подсчитать количество сотрудников в каждой категории зарплаты и при этом вывести 0 для категорий, в которых нет сотрудников, нужно использовать LEFT JOIN с таблицей категорий зарплаты.

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

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

Чтобы подсчитать количество сотрудников в каждой категории зарплаты и при этом вывести 0 для категорий, в которых нет сотрудников, нужно использовать LEFT JOIN с таблицей категорий зарплаты.

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

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

Чтобы подсчитать количество сотрудников в каждой категории зарплаты и при этом вывести 0 для категорий, в которых нет сотрудников, нужно использовать LEFT JOIN с таблицей категорий зарплаты.

Предположим, есть две таблицы:

  • salary_categories (id, category_name)
  • employees (id, name, salary_category_id)

Пример запроса:

SELECT sc.category_name, COUNT(e.id) AS employee_count
FROM salary_categories sc
LEFT JOIN employees e ON e.salary_category_id = sc.id
GROUP BY sc.category_name
ORDER BY sc.category_name;

Объяснение:

  • LEFT JOIN гарантирует, что все категории из salary_categories будут в результате, даже если сотрудников в них нет.
  • COUNT(e.id) считает количество сотрудников в каждой категории; для пустых категорий будет 0.

Такой подход позволяет получить полный список категорий с корректным подсчетом сотрудников.

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

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

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

Подробнее