Middle
Wie erstellt man eine SQL-Abfrage, um die Anzahl der Mitarbeiter in Gehaltskategorien zu zählen, mit 0 für leere Kategorien?
sobes.tech KI
Antwort von AI
Um die Anzahl der Mitarbeiter in jeder Gehaltskategorie zu zählen und 0 für Kategorien ohne Mitarbeiter anzuzeigen, sollte man einen LEFT JOIN mit der Tabelle der Gehaltskategorien verwenden.
Angenommen, es gibt zwei Tabellen:
salary_categories(id, kategoriename)employees(id, name, salary_category_id)
Beispielabfrage:
SELECT sc.kategoriename, COUNT(e.id) AS mitarbeiter_anzahl
FROM salary_categories sc
LEFT JOIN employees e ON e.salary_category_id = sc.id
GROUP BY sc.kategoriename
ORDER BY sc.kategoriename;
Erläuterung:
LEFT JOINstellt sicher, dass alle Kategorien aussalary_categoriesim Ergebnis erscheinen, auch wenn keine Mitarbeiter in ihnen sind.COUNT(e.id)zählt die Anzahl der Mitarbeiter in jeder Kategorie; für leere Kategorien wird 0 angezeigt.
Dieser Ansatz ermöglicht eine vollständige Liste der Kategorien mit korrekter Mitarbeiterzählung.