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>
|
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.