SQL HAVING Clause

In diesem Lernprogramm wird die Verwendung der SQL-Klausel HAVING mit Syntax und Beispielen erläutert.

Beschreibung

Die SQL HAVING-Klausel wird in Kombination mit der GROUP BY Klausel verwendet, um die Gruppen der zurückgegebenen Zeilen auf diejenigen zu beschränken, deren Bedingung TRUE ist.

Syntax

Die Syntax für die HAVING-Klausel in SQL lautet:

SELECT Ausdruck1, Ausdruck2, … Ausdruck_n,
Aggregatfunktion (Aggregat_Ausdruck)
FROM Tabellen
[WHERE Bedingungen]
GROUP BY Ausdruck1, Ausdruck2, … Ausdruck_n
HAVING bedingung;

Parameter oder Argumente

Ausdruck1, Ausdruck2, … Ausdruck_n
Ausdrücke, die nicht in eine Aggregatfunktion eingeschlossen sind und gegen Ende der SQL-Anweisung in die GROUP BY Klausel aufgenommen werden müssen.
Aggregatfunktion
Dies ist eine Aggregatfunktion wie AVG.
Aggregat_Ausdruck
Dies ist die Spalte oder der Ausdruck, für die bzw. den die Aggregatfunktion verwendet wird.
Tabellen
Die Tabellen, aus denen Sie Datensätze abrufen möchten. In der FROM-Klausel muss mindestens eine Tabelle aufgeführt sein.
WHERE Bedingungen
Wahlweise. Dies sind die Bedingungen für die Auswahl der Datensätze.
HAVING bedingung
Dies ist eine weitere Bedingung, die nur auf die aggregierten Ergebnisse angewendet wird, um die Gruppen der zurückgegebenen Zeilen einzuschränken. Nur die Gruppen, deren Bedingung TRUE ergibt, werden in die Ergebnismenge aufgenommen.

Beispiel – Verwendung der SUM-Funktion

Schauen wir uns ein Beispiel für eine SQL HAVING-Klausel an, in der die SQL SUM-Funktion verwendet wird.

Sie können auch die SQL SUM-Funktion verwenden, um den Namen der Abteilung und den Gesamtumsatz (in der zugeordneten Abteilung) zurückzugeben. Die SQL HAVING-Klausel filtert die Ergebnisse, sodass nur Abteilungen mit einem Umsatz von mehr als 1000 US-Dollar zurückgegeben werden.

Beispiel – Verwendung der COUNT-Funktion

Schauen wir uns an, wie wir die HAVING-Klausel mit der SQL COUNT-Funktion verwenden können.

Mit der SQL COUNT-Funktion können Sie den Namen der Abteilung und die Anzahl der Mitarbeiter (in der zugeordneten Abteilung) zurückgeben, die mehr als 25000 US-Dollar pro Jahr verdienen. Die SQL HAVING-Klausel filtert die Ergebnisse, sodass nur Abteilungen mit mehr als 10 Mitarbeitern zurückgegeben werden.

Beispiel – Verwendung der MIN-Funktion

Schauen wir uns als Nächstes an, wie wir die HAVING-Klausel mit der SQL MIN-Funktion verwenden können.

Sie können auch die SQL MIN-Funktion verwenden, um den Namen jeder Abteilung und das Mindestgehalt in der Abteilung zurückzugeben. Die SQL HAVING-Klausel gibt nur die Abteilungen zurück, in denen das Mindestgehalt mehr als 35000 USD beträgt.

Beispiel – Verwendung der MAX-Funktion

Schauen wir uns zum Schluss an, wie wir die HAVING-Klausel mit der SQL MAX-Funktion verwenden können.
Sie können beispielsweise auch die SQL MAX-Funktion verwenden, um den Namen jeder Abteilung und das maximale Gehalt in der Abteilung zurückzugeben. Die SQL HAVING-Klausel gibt nur die Abteilungen zurück, deren maximales Gehalt weniger als 50000 US-Dollar beträgt.