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 JOINzorgt ervoor dat alle categorieën uitsalary_categoriesin 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.