8 Unterschied zwischen WHERE- und HAVING-Klausel in MySQL

Contents

Was ist WHERE-Klausel?

Die WHERE-Klausel in MySQL ist ein Schlüsselwort, das verwendet wird, um die genauen Kriterien von Daten oder Zeilen anzugeben, die von der angegebenen SQL-Anweisung betroffen sind. Mit anderen Worten, die WHERE-Klausel wird verwendet, um eine Bedingung anzugeben, während die Daten aus einer einzelnen Tabelle abgerufen oder mit mehreren Tabellen verknüpft werden. Wenn die angegebene Bedingung erfüllt ist, gibt nur sie einen angegebenen Wert aus der Tabelle zurück. Die WHERE-Klausel kann mit SQL-Anweisungen wie INSERT, UPDATE, SELECT und DELETE verwendet werden, um Datensätze zu filtern und verschiedene Operationen an den Daten durchzuführen.

Was Sie über die WHERE-Klausel wissen müssen

  • Die WHERE-Klausel gibt die Kriterien an, die einzelne Datensätze erfüllen müssen, um von einer Abfrage ausgewählt zu werden. Sie kann ohne die GROUP BY-Klausel verwendet werden.
  • Abgesehen von SELECT-Abfragen können Sie die WHERE-Klausel mit der SELECT-, UPDATE- und DELETE-Anweisung verwenden.
  • Die WHERE-Klausel wird verwendet, um die Datensätze aus der Tabelle basierend auf der angegebenen Bedingung zu filtern.
  • Die WHERE-Klausel wird direkt nach der FROM-Klausel in der logischen Reihenfolge der Abfrageverarbeitung verarbeitet, d. h. sie wird vor GROUP BY verarbeitet.
  • Die WHERE-Klausel wird in Zeilenoperationen implementiert.
  • Die WHERE-Klausel darf keine Aggregatfunktionen enthalten.
  • Die WHERE-Klausel wird verwendet, um eine Bedingung für die SELECT-Anweisung sowie für die Einzelzeilenfunktion aufzuerlegen, und wird vor GROUP BY verwendet.
  • Die WHERE-Klausel wird mit Einzelzeilenfunktionen wie UPPER, LOWER usw. verwendet.

Was ist die HAVING-Klausel?

Die HAVING-Klausel wird bei SQL-Abfragen verwendet, um eine genauere Bedingung für eine Anweisung anzugeben. Es wird verwendet, um die Datensätze aus den Gruppen basierend auf der gegebenen Bedingung in der HAVING-Klausel zu filtern. Eine HAVING-Klausel gibt an, dass eine SQL-SELECT-Anweisung nur Zeilen zurückgeben darf, in denen Aggregatwerte die angegebenen Bedingungen erfüllen. Es stellt Bedingungen für Gruppen, die durch die GROUP BY-Klausel erstellt wurden. Die Gruppen, die die angegebene Bedingung erfüllen, werden im Endergebnis angezeigt. Die HAVING-Klausel muss der GROUP BY-Klausel in einer Abfrage folgen und muss auch der ORDER BY-Klausel vorangehen, wenn sie verwendet wird. Die HAVING-Klausel kann nur mit der SELECT-Anweisung verwendet werden.

Was Sie über Klauseln wissen müssen

  • Die HAVING-Klausel kann nicht ohne die GROUP BY-Klausel verwendet werden.
  • Die HAVING-Klausel kann nur mit der SELECT-Anweisung verwendet werden.
  • Die HAVING-Klausel wird verwendet, um Datensätze aus den Gruppen basierend auf der angegebenen Bedingung zu filtern.
  • Die HAVING-Klausel wird ausgeführt, nachdem Gruppen erstellt wurden.
  • Die HAVING-Klausel wird im Spaltenbetrieb implementiert.
  • Die HAVING-Klausel kann Aggregatfunktionen enthalten.
  • Die HAVING-Klausel wird verwendet, um der GROUP-Funktion eine Bedingung aufzuerlegen, und wird in der Abfrage nach GROUP BY verwendet.
  • Die HAVING-Klausel wird mit mehreren Zeilenfunktionen wie SUM, COUNT usw. verwendet.

Unterschied zwischen WHERE- und HAVING-Klausel in Tabellenform

VERGLEICHSGRUNDLAGEWO-KLAUSELHABENKLAUSEL
BeschreibungDie WHERE-Klausel gibt die Kriterien an, die einzelne Datensätze erfüllen müssen, um von einer Abfrage ausgewählt zu werden. Sie kann ohne die GROUP BY-Klausel verwendet werden.  Die HAVING-Klausel kann nicht ohne die GROUP BY-Klausel verwendet werden.  
Kompatible AussagenAbgesehen von SELECT-Abfragen können Sie die WHERE-Klausel mit der SELECT-, UPDATE- und DELETE-Anweisung verwenden.  Die HAVING-Klausel kann nur mit der SELECT-Anweisung verwendet werden.  
BenutzenDie WHERE-Klausel wird verwendet, um die Datensätze aus der Tabelle basierend auf der angegebenen Bedingung zu filtern.  Die HAVING-Klausel wird verwendet, um Datensätze aus den Gruppen basierend auf der angegebenen Bedingung zu filtern.  
Die AusführungDie WHERE-Klausel wird direkt nach der FROM-Klausel in der logischen Reihenfolge der Abfrageverarbeitung verarbeitet, d. h. sie wird vor GROUP BY verarbeitet.  Die HAVING-Klausel wird ausgeführt, nachdem Gruppen erstellt wurden.  
ImplementierungDie WHERE-Klausel wird in Zeilenoperationen implementiert.  Die HAVING-Klausel wird im Spaltenbetrieb implementiert.  
AggregatfunktionDie WHERE-Klausel darf keine Aggregatfunktionen enthalten.  Die HAVING-Klausel kann Aggregatfunktionen enthalten.  
FunktionDie WHERE-Klausel wird verwendet, um eine Bedingung für die SELECT-Anweisung sowie für die Einzelzeilenfunktion aufzuerlegen, und wird vor GROUP BY verwendet.  Die HAVING-Klausel wird verwendet, um der GROUP-Funktion eine Bedingung aufzuerlegen, und wird in der Abfrage nach GROUP BY verwendet.  
ZeilenfunktionDie WHERE-Klausel wird mit Einzelzeilenfunktionen wie UPPER, LOWER usw. verwendet.  Die HAVING-Klausel wird mit mehreren Zeilenfunktionen wie SUM, COUNT usw. verwendet.  

osky