Sobes.tech
Middle

Jak vytvořit SQL dotaz pro spočítání počtu zaměstnanců v kategoriích platů s výstupem 0 pro prázdné kategorie?

sobes.tech AI

Odpověď od AI

Chcete-li spočítat počet zaměstnanců v každé kategorii platu a zobrazit 0 pro kategorie, ve kterých nejsou žádní zaměstnanci, musíte použít LEFT JOIN s tabulkou kategorií platů.

Předpokládejme, že existují dvě tabulky:

  • salary_categories (id, název_kategorie)
  • employees (id, jméno, salary_category_id)

Příklad dotazu:

SELECT sc.název_kategorie, COUNT(e.id) AS počet_zaměstnanců
FROM salary_categories sc
LEFT JOIN employees e ON e.salary_category_id = sc.id
GROUP BY sc.název_kategorie
ORDER BY sc.název_kategorie;

Vysvětlení:

  • LEFT JOIN zajišťuje, že všechny kategorie z salary_categories budou ve výsledku, i když v nich nejsou žádní zaměstnanci.
  • COUNT(e.id) spočítá počet zaměstnanců v každé kategorii; pro prázdné kategorie bude výsledek 0.

Tento přístup umožňuje získat úplný seznam kategorií s přesným počtem zaměstnanců.