Razlika med skupino po in po vrstnem redu v SQL

Avtor: Laura McKinney
Datum Ustvarjanja: 1 April 2021
Datum Posodobitve: 15 Maj 2024
Anonim
Python Web Apps with Flask by Ezra Zigmond
Video.: Python Web Apps with Flask by Ezra Zigmond

Vsebina


SQL omogoča organiziranje podatkov, pridobljenih s poizvedbo. Za organizacijo podatkov, pridobljenih iz poizvedbe, imamo dve klavzuli, ki sta klavzula Group By in Order By. Bistvo, ki razlikuje klavzulo Group By in Order By, je to Skupina avtorja klavzula se uporablja, kadar želimo uporabiti funkcijo združevanja na več kot enem nizu tupolov in Naročil pri klavzula se uporablja, kadar želimo razvrstiti podatke, pridobljene s poizvedbo. Pogovorimo se o nekaterih razlikah med klavzulo Group By in določbo Order By s pomočjo spodnje primerjalne tabele.

  1. Primerjalna tabela
  2. Opredelitev
  3. Ključne razlike
  4. Zaključek

Primerjalna tabela

Osnove za primerjavoSkupina avtorjaNaročil pri
OsnovniGroup By se uporablja za oblikovanje skupine množice tupolov.Order By se uporablja za urejanje podatkov, pridobljenih kot rezultat poizvedbe v razvrščeni obliki.
Atributi Atributi v funkciji Združevanje ne morejo biti v klavzuli Group By.Atributi pod agregatom so lahko v skladu s klavzulo.
TlaSestavljeno na podlagi podobnosti med vrednostmi atributov.Sestavljeno na podlagi naraščajočega in padajočega vrstnega reda.

Opredelitev skupine po klavzuli

Skupne funkcije, kot so avg, min, max, sum, štetje, se uporabijo za en sklop tupolov. V primeru, da želite uporabiti skupne funkcije za skupino nabora, lahko za to imamo skupino. Skupina po klavzuli združuje kronike, ki imajo isto vrednost atributa.


Obstaja ena stvar spomni se o skupini s klavzulo, se prepričajte, da atribut pod Skupina avtorja klavzula mora biti prikazana v IZBERI klavzula, vendar ne pod agregatna funkcija. Če klavzula Group By vsebuje atribut, ki ni pod klavzulo SELECT ali če je pod SELECT, ampak 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 primer za razumevanje klavzule Group By.

IZBERI oddelek _ID, avg (plača) kot avg_salary iz skupine učiteljev po oddelku_ID.

Vidite, da se sprva oblikuje vmesni rezultat, ki je združil oddelke.


Nato se avg funkcije agregata uporabi za vsako skupino oddelkov, rezultat pa je prikazan spodaj.

Opredelitev naročila po klavzuli

Klavzula Order By Order se uporablja za prikaz podatkov, pridobljenih s poizvedbo, v razvrščenem vrstnem redu. Tako kot klavzula Group By, se tudi v sodelovanju z določbo SELECT uporablja odredba Order By. Če vrstnega reda razvrščanja ne omenjate, v razdelku Order By razvrsti podatke v naraščajočem vrstnem redu. Naraščajoče naročilo lahko določite kot asc in padajoči vrstni red kot desc.

Dovolite nam, da razumemo delovanje klavzule Order s pomočjo naslednjega primera. Imamo tabelo Učitelj in razvrstitev bom uporabil v dveh stolpcih oddelka_Id in plača tabele Učitelj.

Izberite Department_ID, plačo iz učiteljevega reda po oddelku_Iz asc., Plač.

Vidite, da najprej uredi oddelek _ID v naraščajočem vrstnem redu, nato pa plače v istem oddelku razporedi po padajočem vrstnem redu.

  1. Skupina Po določbi združi nabor tupolov v odnosu, ki je pod določbo SELECT. Po drugi strani klavzula Order By razvrsti rezultate poizvedbe po naraščajočem ali padajočem vrstnem redu.
  2. Atribut pod agregatno funkcijo ne more biti pod klavzulo skupine, medtem ko je atribut pod združeno funkcijo lahko tam pod klavzulo Razporedi po.
  3. Razvrščanje tupolov se izvede na podlagi podobnosti med atributnimi vrednostmi tupolov. Po drugi strani pa je naročanje ali razvrščanje izvedeno na podlagi naraščajočega ali padajočega.

Zaključek:

Če želite sestaviti skupino nabora tupolov, potem morate uporabiti klavzulo Group By. Če želite podatke posameznega stolpca ali več kot enega stolpca urediti v naboru v naraščajočem ali padajočem vrstnem redu, je treba uporabiti klavzulo Order By.