Sobes.tech
Middle

Hoe maak je een SQL-query om het aantal werknemers in salariscategorieën te tellen met 0 voor lege categorieën?

sobes.tech AI

Antwoord van AI

Om het aantal werknemers in elke salariscategorie te tellen en 0 weer te geven voor categorieën zonder werknemers, moet je een LEFT JOIN gebruiken met de tabel salariscategorieën.

Laten we aannemen dat er twee tabellen zijn:

  • salary_categories (id, categorie_naam)
  • employees (id, naam, salary_category_id)

Voorbeeld van query:

SELECT sc.categorie_naam, COUNT(e.id) AS aantal_werknemers
FROM salary_categories sc
LEFT JOIN employees e ON e.salary_category_id = sc.id
GROUP BY sc.categorie_naam
ORDER BY sc.categorie_naam;

Uitleg:

  • LEFT JOIN zorgt ervoor dat alle categorieën uit salary_categories in het resultaat verschijnen, zelfs als er geen werknemers in zitten.
  • COUNT(e.id) telt het aantal werknemers in elke categorie; voor lege categorieën wordt 0 weergegeven.

Deze aanpak geeft een volledige lijst van categorieën met een correcte telling van werknemers.