Anbefalet, 2023

Redaktørens Valg

Forskel mellem gruppe ved og orden i i SQL

SQL giver mulighed for at organisere de data, der er opnået ved forespørgslen. Vi har to klausuler til at organisere de data, der er opnået fra forespørgslen, der er gruppebestemmelse og ordrebestemmelse. Det punkt, der skelner fra gruppebestemmelse og ordrebestemmelse er, at Group By- klausulen anvendes, når vi ønsker at anvende aggregatfunktionen til mere end et sæt tupler, og Order By- klausul anvendes, når vi vil sortere de data, der er opnået ved forespørgslen. Lad os diskutere nogle forskelle mellem Group By-klausul og Order By-klausul ved hjælp af sammenligningstabellen vist nedenfor.

Sammenligningstabel

Grundlag for sammenligningGruppe ByBestil By
GrundlæggendeGruppe By bruges til at danne gruppen af ​​sæt af tupler.Order By bruges til at arrangere de data, der er opnået som følge af en forespørgsel i Sorteret form.
EgenskabAttribut under Aggregatfunktion kan ikke være i Group By-klausul.Attribut under aggregering kan være i orden efter klausul.
JordUdfærdiget på grundlag af lighed mellem attributværdier.Udfærdiget på grund af stigende rækkefølge og faldende rækkefølge.

Definition af gruppe efter klausul

Aggregate funktioner som avg, min, max, sum, tæller anvendes på det enkelte sæt tuples. Hvis du vil anvende de samlede funktioner til gruppen af ​​sæt tupler, så har vi Group by-klausul for det. Gruppe efter klausul grupperer de tupler, der har samme attributværdi.

Der er en ting at huske om gruppen By-klausulen, så sørg for, at attributten under gruppen By- klausulen skal vises i SELECT- klausulen, men ikke under en aggregatfunktion . Hvis gruppen By-klausulen indeholder en egenskab, der ikke er under SELECT-klausul, eller hvis den er under SELECT-klausul, men under aggregatfunktion bliver forespørgslen fejlagtig. Derfor kan vi sige, at Group By-klausulen altid bruges i samarbejde med SELECT-klausulen.

Lad os tage et eksempel for at forstå Group By-klausulen.

VÆLG Afdelingen _ID, avg (Løn) som avg_salary fra Lærer Gruppe Af Department_ID.

Du kan se, at der i første omgang er dannet et mellemliggende resultat, der har grupperet afdelingerne.

Derefter anvendes aggregatfunktionen avg til hver gruppe af afdelinger, og resultatet vises nedenfor.

Definition af orden efter klausul

Order By-klausul bruges til at vise data opnået ved en forespørgsel i den sorterede rækkefølge. Som Group By-klausul anvendes ordrebestemmelse også i samarbejde med SELECT-klausulen. Hvis du ikke nævner sorteringsrækkefølgen sorterer Order By-klausul data i stigende rækkefølge. Du kan angive stigende rækkefølge som asc og faldende rækkefølge som desc .

Lad os forstå arbejdet med Order By-klausul ved hjælp af følgende eksempel. Vi har et lærerbord, og jeg vil ansøge sortering til to kolonner Department_Id og Salary, fra Lærerbordet.

Vælg Department_ID, Løn fra lærerordre Af Department_Id asc, Lønnedskrivning.

Du kan se det først, det arrangerer afdelingen _ID i stigende rækkefølge og så arrangerer den lønnen i samme afdeling i faldende rækkefølge.

Nøgleforskelle mellem koncernen og ordre af

  1. Gruppe By-klausul grupperer sætet af tuples i en relation, der er under SELECT-klausulen. På de andre hænder sorterer ordren efter ordre resultatet af forespørgslen i stigende eller faldende rækkefølge.
  2. Attributten under aggregatfunktionen kan ikke være under Gruppe By-klausul, mens attributten under aggregatfunktionen kan være der under ordrebestemmelse.
  3. Gruppering af tupler sker på grundlag af lighed mellem tuplens attributværdier. På de andre hænder foretages ordre eller sortering på baggrund af stigende rækkefølge eller faldende rækkefølge.

Konklusion:

Hvis du vil danne gruppen af ​​sæt tupler, skal du bruge Group By-klausulen. Hvis du ønsker at arrangere dataene i en enkelt kolonne eller mere end en kolonne i sæt tupler i stigende eller faldende rækkefølge, skal ordrebestemmelse anvendes.

Top