Middle
Как да направите SQL заявка за броене на служителите в категориите заплати с изход 0 за празните категории?
sobes.tech AI
Отговор от AI
За да преброите броя на служителите във всяка категория заплати и да покажете 0 за категориите, в които няма служители, трябва да използвате LEFT JOIN с таблицата на категориите заплати.
Да предположим, че има две таблици:
salary_categories(id, име_на_категорията)employees(id, име, salary_category_id)
Примерна заявка:
SELECT sc.име_на_категорията, COUNT(e.id) AS брой_служители
FROM salary_categories sc
LEFT JOIN employees e ON e.salary_category_id = sc.id
GROUP BY sc.име_на_категорията
ORDER BY sc.име_на_категорията;
Обяснение:
LEFT JOINгарантира, че всички категории отsalary_categoriesще се появят в резултата, дори ако в тях няма служители.COUNT(e.id)брои броя на служителите във всяка категория; за празните категории резултатът ще бъде 0.
Този подход позволява да се получи пълен списък с категории с коректен брой служители.