Priporočena, 2024

Izbira Urednika

Razlika med skupino in vrstnim redom v SQL

SQL omogoča organiziranje podatkov, pridobljenih s poizvedbo. Imamo dve klavzuli za organizacijo podatkov, pridobljenih iz poizvedbe, ki sta člen in vrstni red. Točka, ki ločuje člen in vrstni red, je, da se člen, ki ga uporablja člen, uporablja, ko želimo združiti funkcijo na več kot en niz zaklepov in člen Order By se uporablja, ko želimo razvrstiti podatke, pridobljene s poizvedbo. Razpravljamo o nekaterih razlikah med klavzulo Skupina in klavzulo o naročilu s pomočjo primerjalne tabele, prikazane spodaj.

Primerjalna tabela

Podlaga za primerjavoSkupina doVrstni red
OsnovnoSkupina S se uporablja za oblikovanje skupine nizov.Vrstni red se uporablja za urejanje podatkov, pridobljenih kot rezultat poizvedbe v razvrščeni obliki.
AtributAtribut pod funkcijo agregata ne more biti v členu Group by.Atribut pod agregatom je lahko v skladu z določbo.
TlaSestavljeno na podlagi podobnosti med vrednostmi atributov.Opravljeno na podlagi naraščajočega in padajočega vrstnega reda.

Opredelitev skupine po klavzuli

Agregatne funkcije, kot so avg, min, max, sum, count, se uporabijo za en niz kompletov. V primeru, da želite uporabiti agregatne funkcije za skupino množic korakov, potem imamo za to klavzulo Group by. Skupina s klavzulami združuje tuple, ki imajo enako vrednost atributa.

Obstaja ena stvar, ki si jo je treba zapomniti o klavzuli Group By, se prepričajte, da mora biti atribut pod klavzulo Group By prikazan v členu SELECT, vendar ne pod agregatno funkcijo . Če člen Group by vsebuje atribut, ki ni pod členom SELECT ali če je pod klavzulo SELECT, vendar pod agregatno funkcijo, potem poizvedba postane napačna. Zato lahko rečemo, da se klavzula Group By vedno uporablja v sodelovanju s klavzulo SELECT.

Vzemimo za primer razumevanje klavzule Group By.

SELECT Oddelek _ID, avg (plač) kot avg_salary iz skupine učiteljev po oddelku_ID.

Vidite lahko, da je na začetku nastal vmesni rezultat, ki je razdelil oddelke.

Nato se za vsako skupino oddelkov uporabi agregatna funkcija avg, rezultat pa je prikazan spodaj.

Opredelitev vrstnega reda po določbi

Določba Order By se uporablja za prikaz podatkov, ki jih dobimo s poizvedbo v razvrščenem vrstnem redu. Podobno kot klavzula Group By, se postavka Order By uporablja tudi v sodelovanju s členom SELECT. Če ne omenjate vrstnega reda razvrščanja, člen Order by razvrsti podatke v naraščajočem vrstnem redu. Kot naraščajoči in padajoči vrstni red lahko določite naraščajoči vrstni red kot desc .

Dovolite nam, da razumemo delovanje klavzule Order By s pomočjo naslednjega primera. Imamo tabelo učiteljev in bom razvrščala v dve stolpcih oddelka in plače učiteljeve tabele.

Izberi Department_ID, Plača od učitelja Naročilo po oddelku -d.

Vidite lahko, da najprej razvrsti oddelek _ID v naraščajočem vrstnem redu in nato uredi plače v istem oddelku v padajočem vrstnem redu.

Ključne razlike med skupino in vrstnim redom

  1. Skupina s klavzulami združuje niz tuples v relaciji, ki je pod členom SELECT. Na drugi strani, člen Order by razvrsti rezultat poizvedbe v naraščajočem ali padajočem vrstnem redu.
  2. Atribut pod agregatno funkcijo ne more biti pod klavzulo Group By, medtem ko je atribut pod agregatno funkcijo lahko pod stavkom Order By.
  3. Združevanje zaporedij se opravi na podlagi podobnosti med vrednostmi atributov. Na drugi strani pa se naročanje ali razvrščanje opravi na podlagi naraščajočega ali padajočega vrstnega reda.

Sklep:

Če želite oblikovati skupino nizov, morate uporabiti klavzulo Skupina. V primeru, da želite razvrstiti podatke iz enega samega stolpca ali več stolpcev v nizu naraščajočih ali padajočih, morate uporabiti člen Order By.

Top