Junior — Middle
Was ist der Unterschied zwischen den Bedingungen WHERE und HAVING bei der Arbeit mit SQL-Abfragen?
sobes.tech KI
Antwort von AI
In SQL werden die Bedingungen WHERE und HAVING verwendet, um Daten zu filtern, aber sie werden in verschiedenen Phasen der Abfrageverarbeitung angewendet:
WHEREfiltert Zeilen vor der Gruppierung und Aggregation. Es beschränkt den Datensatz, der in der Abfrage verwendet wird.HAVINGfiltert Gruppen nach der Anwendung von Aggregatfunktionen (z.B.SUM,COUNT,AVG). Es wird verwendet, um die Ergebnisse der Aggregation einzuschränken.
Beispiel:
SELECT abteilung, COUNT(*) as anzahl_mitarbeiter
FROM mitarbeiter
WHERE gehalt > 50000 -- filtert Mitarbeiter mit Gehalt > 50000
GROUP BY abteilung
HAVING COUNT(*) > 10; -- wählt Abteilungen mit mehr als 10 Mitarbeitern
Hier wählt WHERE Mitarbeiter mit einem Gehalt über 50000 aus, und HAVING filtert die Abteilungen, in denen mehr als 10 Mitarbeiter sind.