Sobes.tech
Middle

Ako ustvarite SQL poizvedbo za štetje števila zaposlenih v kategorijah plač z izpisom 0 za prazne kategorije?

sobes.tech AI

Odpoveď od AI

Ak chcete spočítať počet zamestnancov v každej kategórii platu a zobraziť 0 pre kategórie, v ktorých nie sú žiadni zamestnanci, musíte použiť LEFT JOIN s tabuľkou kategórií platov.

Predpokladajme, že existujú dve tabuľky:

  • salary_categories (id, názov_kategórie)
  • employees (id, meno, salary_category_id)

Príklad dotazu:

SELECT sc.názov_kategórie, COUNT(e.id) AS počet_zamestnancov
FROM salary_categories sc
LEFT JOIN employees e ON e.salary_category_id = sc.id
GROUP BY sc.názov_kategórie
ORDER BY sc.názov_kategórie;

Vysvetlenie:

  • LEFT JOIN zabezpečuje, že všetky kategórie z salary_categories sa objavia vo výsledku, aj keď v nich nie sú žiadni zamestnanci.
  • COUNT(e.id) spočíta počet zamestnancov v každej kategórii; pre prázdne kategórie bude výsledok 0.

Tento prístup umožňuje získať úplný zoznam kategórií s presným počtom zamestnancov.