Sobes.tech
Middle
33

Бос санаттар үшін 0 көрсететін жалақы санаттарындағы қызметкерлер санын есептейтін SQL сұрауын қалай жазуға болады?

Сұралған компаниялар
СБЕРСБЕР

AI-дан жауап

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.

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