Unterschied zwischen Gruppieren nach und Sortieren nach in SQL

Autor: Laura McKinney
Erstelldatum: 1 April 2021
Aktualisierungsdatum: 14 Kann 2024
Anonim
Group, Sort und Aggregation in SQL - SQL 7 ● Gehe auf SIMPLECLUB.DE/GO & werde #EinserSchüler
Video: Group, Sort und Aggregation in SQL - SQL 7 ● Gehe auf SIMPLECLUB.DE/GO & werde #EinserSchüler

Inhalt


SQL ermöglicht das Organisieren der von der Abfrage erhaltenen Daten. Wir haben zwei Klauseln zum Organisieren der aus der Abfrage erhaltenen Daten: Gruppieren nach und Sortieren nach. Der Punkt, der Group By und Order By-Klausel unterscheidet, ist das Gruppiere nach Klausel wird verwendet, wenn die Aggregatfunktion auf mehrere Tupel und angewendet werden soll Sortieren nach Klausel wird verwendet, wenn die von der Abfrage erhaltenen Daten sortiert werden sollen. Lassen Sie uns einige Unterschiede zwischen der Group By-Klausel und der Order By-Klausel anhand der folgenden Vergleichstabelle erläutern.

  1. Vergleichstabelle
  2. Definition
  3. Hauptunterschiede
  4. Fazit

Vergleichstabelle

Grundlage für den VergleichGruppiere nachSortieren nach
BasicGroup By wird verwendet, um die Gruppe der Tupel zu bilden.Order By wird verwendet, um die Daten, die als Ergebnis einer Abfrage erhalten wurden, in sortierter Form anzuordnen.
Attribut Das Attribut unter Aggregatfunktion kann nicht in der Group By-Klausel enthalten sein.Das Attribut unter aggregate kann in der Order By-Klausel stehen.
BodenGeschehen auf Grund der Ähnlichkeit der Attributwerte.Geschehen in aufsteigender und absteigender Reihenfolge.

Definition der Gruppenklausel

Aggregatfunktionen wie avg, min, max, sum, count werden auf die einzelnen Tupel angewendet. Wenn Sie die Aggregatfunktionen auf die Gruppe der Tupel anwenden möchten, haben wir dafür die Group by-Klausel. Group by-Klausel gruppiert die Tupel mit demselben Attributwert.


Es gibt eine Sache zu merken Stellen Sie bezüglich der Group By-Klausel sicher, dass das Attribut unter dem Gruppiere nach Klausel muss in der WÄHLEN Klausel aber nicht unter einer Aggregatfunktion. Wenn die Group By-Klausel ein Attribut enthält, das nicht in der SELECT-Klausel oder in der SELECT-Klausel, sondern in der Aggregatfunktion enthalten ist, wird die Abfrage fehlerhaft. Daher können wir sagen, dass die Group By-Klausel immer in Zusammenarbeit mit der SELECT-Klausel verwendet wird.

Nehmen wir ein Beispiel, um die Group By-Klausel zu verstehen.

SELECT Department_ID, avg (Gehalt) as avg_salary from Teacher Group By Department_ID.


Sie sehen, dass zunächst ein Zwischenergebnis gebildet wird, das die Abteilungen gruppiert hat.

Als nächstes wird die Aggregatfunktion avg auf jede Gruppe von Abteilungen angewendet und das Ergebnis wird unten gezeigt.

Definition der Bestellung nach Klausel

Mit der Order By-Klausel werden die von einer Abfrage erhaltenen Daten in der sortierten Reihenfolge angezeigt. Wie die Group By-Klausel wird auch die Order By-Klausel in Zusammenarbeit mit der SELECT-Klausel verwendet. Wenn Sie die Sortierreihenfolge nicht erwähnen, sortiert die Order By-Klausel die Daten in aufsteigender Reihenfolge. Sie können aufsteigende Reihenfolge als angeben asc und absteigende Reihenfolge als absteigend.

Lassen Sie uns die Funktionsweise der Order By-Klausel anhand des folgenden Beispiels verstehen. Wir haben eine Lehrertabelle, und ich werde die Sortierung auf die beiden Spalten Department_Id und Salary der Lehrertabelle anwenden.

Wählen Sie Department_ID, Gehalt in Lehrerreihenfolge nach Department_Id auf, Gehalt ab.

Sie sehen, dass zuerst die Abteilungs-ID in aufsteigender Reihenfolge und dann die Gehälter in derselben Abteilung in absteigender Reihenfolge angeordnet werden.

  1. Group By-Klausel gruppiert die Menge der Tupel in einer Beziehung, die unter der SELECT-Klausel steht. Andererseits sortiert die Order By-Klausel das Ergebnis der Abfrage in aufsteigender oder absteigender Reihenfolge.
  2. Das Attribut unter Aggregatfunktion kann nicht unter Group By-Klausel stehen, wohingegen das Attribut unter Aggregatfunktion unter Order By-Klausel stehen kann.
  3. Die Gruppierung von Tupeln erfolgt auf der Basis der Ähnlichkeit zwischen den Attributwerten der Tupel. Andererseits erfolgt das Ordnen oder Sortieren in aufsteigender oder absteigender Reihenfolge.

Fazit:

Wenn Sie die Gruppe der Tupel bilden möchten, müssen Sie die Group By-Klausel verwenden. Wenn Sie die Daten einer einzelnen Spalte oder mehrerer Spalten in der Menge der Tupel in aufsteigender oder absteigender Reihenfolge anordnen möchten, muss die Order By-Klausel verwendet werden.