Sobes.tech
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 JOIN stellt sicher, dass alle Kategorien aus salary_categories im 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.