logo

Using vs Where-Klausel in SQL

Der Unterschied zwischen der Have- und der Where-Klausel in SQL besteht darin, dass die Where-Klausel dies nicht tun kann ot kann mit Aggregaten verwendet werden, die Haveing-Klausel ist jedoch möglich.

Der Wo Die Klausel funktioniert auf Zeilendaten, nicht auf aggregierte Daten. Betrachten wir die folgende Tabelle „Marken“.



Kursergebnis des Studenten

ein c1 40

ein c2 50



b c3 60

d c1 70

e c2 80



Betrachten Sie die Abfrage

SELECT>Student, Score FROM Marks WHERE Score>=40>>

Dadurch würden Daten zeilenweise ausgewählt.

Der haben Die Klausel funktioniert mit aggregierten Daten.

Beispiel: Ausgabe der folgenden Abfrage

SELECT>Student,>SUM>(score) AS>>total>FROM>Marks> GROUP BY>Student>

Gesamtzahl der Schüler

eine 90

b 60

d 70

und 80

Wenn wir haben in der obigen Abfrage anwenden, erhalten wir

SELECT>Student,>SUM>(score) AS>>total>FROM>Marks> GROUP BY>Student>

HAVING>total>70>

Gesamtzahl der Schüler

eine 90

und 80

Hinweis: Es handelt sich nicht um eine vordefinierte Regel, aber in vielen SQL-Abfragen verwenden wir WHERE vor GROUP BY und HAVING nach GROUP BY. Die Where-Klausel fungiert als Vorfilter wo als Haben als ein Postfilter.