Unterschied zwischen Where- und Having-Klausel in SQL

Inhaltsverzeichnis:

Unterschied zwischen Where- und Having-Klausel in SQL
Unterschied zwischen Where- und Having-Klausel in SQL

Video: Unterschied zwischen Where- und Having-Klausel in SQL

Video: Unterschied zwischen Where- und Having-Klausel in SQL
Video: MySQL - HAVING-Klausel an einfachen Beispielen erklärt (deutsch) 2024, November
Anonim

Hauptunterschied – where- vs-having-Klausel in SQL

Daten sind für jede Organisation wichtig. Daher ist es notwendig, die Daten auf organisierte Weise zu speichern, um sie abrufen zu können. Die Daten werden in Tabellen gespeichert. Eine Datenbank besteht aus einer Sammlung von Tabellen. Ein gängiger Datenbanktyp sind relationale Datenbanken. In einer relationalen Datenbank stehen die Tabellen in Beziehung zueinander. Beispielsweise ist der Tisch Kunde mit dem Bestelltisch verbunden. Ein relationales Datenbankverw altungssystem (RDBMS) ist ein Datenbankverw altungssystem, das auf einem relationalen Modell basiert. Es wird verwendet, um relationale Datenbanken zu verw alten. Einige Beispiele für RDBMS sind MySQL, MSSQL und Oracle. Die Structured Query Language (SQL) ist die Sprache, die zum Manipulieren und Abrufen von Daten in einer relationalen Datenbank verwendet wird. Es gibt verschiedene Klauseln in SQL, um verschiedene Aufgaben auszuführen. Zwei davon sind Wo und Haben. Dieser Artikel beschreibt den Unterschied zwischen der Where- und der Having-Klausel in SQL. Der Hauptunterschied zwischen der Where- und der Having-Klausel in SQL besteht darin, dass die Where-Klausel zum Filtern von Datensätzen verwendet wird, bevor eine Gruppierung oder eine Aggregation erfolgt, während die Having-Klausel zum Filtern von Datensätzen verwendet wird, nachdem eine Gruppierung oder eine Aggregation erfolgt.

Was ist Where-Klausel in SQL?

Es hilft, einen bestimmten Datensatz aus der Tabelle entsprechend der gegebenen Bedingung abzurufen, zu aktualisieren oder zu löschen. Der Programmierer kann die where-Klausel verwenden, um nur die erforderlichen Daten einzuschränken und abzurufen. Die Abfrage wird nur für die Datensätze ausgeführt, bei denen die durch die where-Klausel angegebene Bedingung wahr ist. Es kann mit select, update und delete verwendet werden.

Beziehen Sie sich auf die Schülertabelle unten,

Unterschied zwischen Where- und Having-Klausel in SQL_Figure 02
Unterschied zwischen Where- und Having-Klausel in SQL_Figure 02
Unterschied zwischen Where- und Having-Klausel in SQL_Figure 02
Unterschied zwischen Where- und Having-Klausel in SQL_Figure 02

Um den Namen und das Alter des Schülers auszuwählen, dessen student_id gleich 3 ist, kann die folgende SQL-Abfrage verwendet werden.

Name und Alter des Schülers auswählen, wobei student_id=3;

Es ist auch möglich, Operatoren wie ungleich (!=), größer als (>), kleiner als (=), kleiner oder gleich (<=) zu verwenden. Um die student_id und den Namen auszuwählen, deren Alter ungleich 15 ist, kann die folgende SQL-Abfrage verwendet werden.

select student_id, name from student where age!=15;

Um das Alter des Schülers von 2 auf 13 zu ändern, kann die folgende Abfrage verwendet werden.

aktualisiere das festgelegte Alter des Schülers=13, wobei die ID=3;

Um den Datensatz zu löschen, dessen student_id 4 ist, kann die folgende Abfrage verwendet werden.

delete from student where student_id=4;

Die Operatoren and, or können verwendet werden, um mehrere Bedingungen zu kombinieren.

wählen Sie den Namen des Schülers aus, wobei student_id=1 und Alter=15; Die Abfrage ruft den Namen Ann ab.

Dies sind einige Beispiele für Where-Klauseln in SQL. Wenn es eine Group By-Klausel gibt, steht die where-Klausel davor.

Was ist eine Having-Klausel in SQL?

Es gibt Funktionen, die von der SQL-Sprache bereitgestellt werden, um Berechnungen einfach durchzuführen. Sie werden als Aggregationsfunktionen bezeichnet. Das min () wird verwendet, um den kleinsten Wert der ausgewählten Sp alte zu finden. Das max () wird verwendet, um den maximalen Wert der ausgewählten Sp alte zu finden. avg () wird verwendet, um den Durchschnitt in der Sp alte zu finden, und sum () wird verwendet, um die Summe der Sp alte zu finden. Dies sind einige Beispiele für Aggregationsfunktionen. Siehe die folgende Bestelltabelle,

Unterschied zwischen Where- und Having-Klausel in SQL_Figure 03
Unterschied zwischen Where- und Having-Klausel in SQL_Figure 03
Unterschied zwischen Where- und Having-Klausel in SQL_Figure 03
Unterschied zwischen Where- und Having-Klausel in SQL_Figure 03

Der Programmierer kann die SQL-Abfrage wie folgt schreiben, um die Kunden abzurufen, deren Kontostand mehr als 2000 beträgt.

selectfrom order group by customer with sum(balance) > 2000.

Dies druckt die Kundendatensätze, deren Summe des Saldos größer als 2000 ist. Es werden die Datensätze der Kunden Ann und Alex gedruckt.

Diehaving-Klausel wird verwendet, um die Werte für die Gruppen abzurufen, die bestimmteBedingungen erfüllen. Daher wird die Gruppe, die auf die gegebene Bedingung zutrifft, als Ergebnis davon erscheinen. Diehaving-Klausel steht nach der group-by-Klausel. Wenn die group-by-Klausel nicht vorhanden ist, funktioniert die have-Klausel ähnlich wie die where-Klausel.

Was sind die Ähnlichkeiten zwischen der where- und having-Klausel in SQL?

  • Beide sind Klauseln in der Structured Query Language.
  • Beide können verwendet werden, um einen Datensatz zu filtern.

Was ist der Unterschied zwischen Where- und Having-Klausel in SQL?

where- vs-having-Klausel in SQL

Das Where ist eine SQL-Klausel, die verwendet wird, um eine Bedingung anzugeben, während die Daten aus einer einzelnen Tabelle abgerufen oder mit mehreren Tabellen verknüpft werden. Having ist eine SQL-Klausel, die angibt, dass eine SQL-Select-Anweisung nur Zeilen zurückgeben soll, deren Aggregatwerte die angegebenen Bedingungen erfüllen.
Zweck
Die where-Klausel wird zum Filtern von Zeilen verwendet. Diehaving-Klausel wird verwendet, um Gruppen zu filtern.
Aggregation
Die where-Klausel kann nicht mit Aggregationsfunktionen verwendet werden, es sei denn, sie befindet sich in einer Unterabfrage, die in einer Having-Klausel enth alten ist. Die Aggregationsfunktionen können mit derhaving-Klausel verwendet werden.
Filtermethode
Die where-Klausel verhält sich wie ein Vorfilter. Diehaving-Klausel verhält sich wie ein Nachfilter.
Gruppieren nach Klauselreihenfolge
Die where-Klausel wird vor der Group By-Klausel verwendet. Diehaving-Klausel wird nach der Group By-Klausel verwendet.
Verwendet mit
Die where-Klausel kann mit select, update und delete verwendet werden. Diehaving-Klausel wird nur mit select verwendet.

Zusammenfassung – Where- vs-Having-Klausel in SQL

Die Structured Query Language (SQL) ist die Sprache, die in relationalen Datenbanken verwendet wird. Das Where have sind zwei Klauseln in SQL. In diesem Artikel wurde der Unterschied zwischen der Where- und der Having-Klausel erläutert. Der Unterschied zwischen der where- und having-Klausel in SQL besteht darin, dass where verwendet wird, um Datensätze zu filtern, bevor eine Gruppierung oder eine Aggregation erfolgt, während having verwendet wird, um Datensätze zu filtern, nachdem eine Gruppierung oder eine Aggregation auftritt.

Empfohlen: