Sobes.tech
Middle
20

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

Компании, где спрашивали
СБЕРСБЕР

Ответ от нейросети

sobes.tech AI

Чтобы подсчитать количество сотрудников в каждой категории зарплаты и при этом вывести 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.

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