Sobes.tech
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.

Този подход позволява да се получи пълен списък с категории с коректен брой служители.