Skillnaden mellan Group By och Order By i SQL

Författare: Laura McKinney
Skapelsedatum: 1 April 2021
Uppdatera Datum: 5 Maj 2024
Anonim
Aggregatfunktioner, group by och having - Föreläsning 13 (SQL)
Video: Aggregatfunktioner, group by och having - Föreläsning 13 (SQL)

Innehåll


SQL gör det möjligt att organisera data som erhållits genom frågan. Vi har två klausuler för att organisera data som erhållits från frågan som är grupp efter och ordning efter klausul. Punkten som skiljer Group By och Order By-klausulen är den Grupp av klausul används när vi vill tillämpa den sammanlagda funktionen på mer än en uppsättning tuplingar och Sortera efter klausul används när vi vill sortera data som erhållits genom frågan. Låt oss diskutera vissa skillnader mellan grupp efter klausul och ordning efter klausul med hjälp av jämförelsetabellen nedan.

  1. Jämförelsediagram
  2. Definition
  3. Viktiga skillnader
  4. Slutsats

Jämförelsediagram

Grund för jämförelseGrupp avSortera efter
GrundläggandeGroup By används för att bilda gruppen av tuppuppsättningen.Order By används för att ordna de data som erhållits som ett resultat av en fråga i sorterad form.
Attribut Attribut under aggregerad funktion kan inte finnas i grupp efter klausul.Attribut under sammanställning kan vara i Order by Clause.
JordUtfärdat på grund av likheten mellan attributvärden.Utfärdat på grund av stigande ordning och fallande ordning.

Definition av grupp efter klausul

Aggregerade funktioner som avg, min, max, summa, räknas tillämpas på en enda uppsättning tuplingar. I fallet, om du vill tillämpa de sammanlagda funktionerna på gruppen av uppsättningen tupplar så har vi Grupp efter klausul för det. Gruppera efter klausul grupperar tuple som har samma attributvärde.


Det är en sak att göra kom ihåg om Group By-klausulen, se till att attribut under Grupp av klausulen måste visas i VÄLJ klausul men inte under en aggregerad funktion. Om Group By-klausulen innehåller ett attribut som inte är under SELECT-klausulen eller om det är under SELECT-klausulen utan under den sammanlagda funktionen blir frågan felaktig. Därför kan vi säga att Group By-klausulen alltid används i samarbete med SELECT-klausulen.

Låt oss ta ett exempel för att förstå grupp efter klausul.

VÄLJ Institutionen _ID, avg (Lön) som medelvärde från lärargruppen efter avdelning_ID.


Du kan se att från början bildas ett mellanresultat som har grupperat avdelningarna.

Därefter tillämpas den totala funktionen avg för varje avdelningsgrupp, och resultatet visas nedan.

Definition av ordning enligt klausul

Ordning efter klausul används för att visa data som erhållits med en fråga i den sorterade ordningen. Liksom grupp efter klausul används också ordning efter klausul i samarbete med SELECT-klausulen. Om du inte nämner sorteringsordningen sorterar ordning efter klausul data i stigande ordning. Du kan ange stigande ordning som asc och fallande ordning som desc.

Låt oss förstå hur ordning efter klausul fungerar med hjälp av följande exempel. Vi har en lärartabell, och jag kommer att tillämpa sortering på två kolumner avdelning_Id och lön för lärartabellen.

Välj Avdelning_ID, Lön från lärares ordning efter avdelning_Id asc, Löneskrivning.

Du kan se att det först ordnar avdelningen _ID i stigande ordning och sedan ordnar det lönerna i samma avdelning i fallande ordning.

  1. Grupp efter klausul grupperar uppsättningen tuples i en relation som ligger under SELECT-klausulen. Å andra sidan sorterar ordningen efter klausulen resultatet av frågan i stigande eller fallande ordning.
  2. Attributet under aggregerad funktion kan inte vara under grupp efter klausul medan attributet under aggregerad funktion kan finnas där under ordning efter klausul.
  3. Gruppering av tuples görs på grundval av likhet mellan tuplens attributvärden. Å andra sidan görs beställningen eller sorteringen baserat på stigande ordning eller fallande ordning.

Slutsats:

Om du vill bilda gruppen av uppsättningen tuples måste du använda grupp efter klausul. Om du vill ordna uppgifterna för en enda kolumn eller, mer än en kolumn i uppsättningen tupplar i stigande eller fallande ordning, måste ordning efter klausul användas.