Sobes.tech
Junior — Middle

Was ist die Funktion des Operators HAVING in SQL und wie unterscheidet er sich von WHERE?

sobes.tech KI

Antwort von AI

Die HAVING-Klausel in SQL wird verwendet, um die Ergebnisse nach der Gruppierung der Daten mit GROUP BY zu filtern. Sie ermöglicht die Festlegung von Bedingungen für aggregierte Daten.

Unterschied zu WHERE:

  • WHERE filtert Zeilen vor der Gruppierung, arbeitet mit einzelnen Datensätzen.
  • HAVING filtert Gruppen nach der Aggregation.

Beispiel:

SELECT abteilung, COUNT(*) AS mitarbeiteranzahl
FROM mitarbeiter
GROUP BY abteilung
HAVING COUNT(*) > 10;

Hier kann WHERE nicht verwendet werden, um nach COUNT(*) zu filtern, da es eine Aggregatfunktion ist, während HAVING nur die Abteilungen auswählt, in denen mehr als 10 Mitarbeiter sind.