Denne opplæringen vil hjelpe deg å forstå ordren etter klausul og hvordan du bruker den i spørsmålene dine basert på ANSI SQL.
Merk: Denne opplæringen bruker ANSI SQL eller standard SQL. Imidlertid importeres bestillingen etter mange databasemotorer. Derfor kan du bruke denne opplæringen til å implementere bestilling av i MySQL, SQL Server, PostgreSQL, etc.
SQL Server Order av
Bestillingen etter klausul i SQL lar deg sortere resultatet av en spørring basert på en gitt tilstand i stigende eller synkende rekkefølge.
I de fleste tilfeller vil du finne bestillingen etter klausul som brukes i utvalgte utsagn, men den kan inkluderes i andre spørsmål.
Følgende viser syntaks for ordren med leddet i SQL.
Orden etter uttrykk
[ASC | Desc]
[NULLS FØRSTE | NULLS Last]
[,…]
Bestillingen BY -leddet lar deg spesifisere en kolonne eller uttrykk som brukes som sorteringskriteriene.
ASC | Desc -parametere definerer sorteringsrekkefølgen, med ASC som representerer stigende rekkefølge og DESC som betegner nedstigende rekkefølge. Bestillingen etter leddet vil standard sortere verdiene i stigende rekkefølge.
NULLS FØRSTE | NULLS siste klausuler forteller ordren etter klausul om de skal inkludere nullverdier før ikke-null eller etter ikke-nullverdier.
Eksempelbruk
La oss utforske noen eksempler som demonstrerer bruken av ordren etter klausul.
Eksempel 1 - Grunnleggende bruk
Følgende eksempel viser hvordan du bruker bestillingen etter klausul med en valgt uttalelse.
PLUKKE UT
Col1,
col2
FRA (
PLUKKE UT
1 som Col1,
Sant som col2
Union alle
PLUKKE UT
10,
EKTE
Union alle
PLUKKE UT
NULL,
FALSK)
REKKEFØLGE ETTER
Col1;
I dette tilfellet inneholder spørringen to kolonner, som hver holder en numerisk, boolsk eller nullverdi. Vi bruker deretter ordren etter klausul for å sortere verdiene i stigende rekkefølge.
Den resulterende utgangen er som vist:
Col1 Col2
Null falsk
1 sant
10 True
For å sortere verdiene i synkende rekkefølge, kan vi legge til DESC -nøkkelordet:
PLUKKE UT
Col1,
col2
FRA (
PLUKKE UT
1 som Col1,
Sant som col2
Union alle
PLUKKE UT
10,
EKTE
Union alle
PLUKKE UT
NULL,
FALSK)
REKKEFØLGE ETTER
col1 desc;
I dette tilfellet skal spørringen returnere følgende:
Col1 Col2
10 True
1 sant
Null falsk
Ved hjelp av NULLS First Clause, kan du også sortere etter synkende rekkefølge og la nullverdier først bli inkludert.
Eksempel:
PLUKKE UT
Col1,
col2
FRA (
PLUKKE UT
1 som Col1,
Sant som col2
Union alle
PLUKKE UT
10,
EKTE
Union alle
PLUKKE UT
NULL,
FALSK)
REKKEFØLGE ETTER
Col1 desc null først;
Resulterende utgang:
Col1 Col2
Null falsk
10 True
1 sant
I dette tilfellet anses nullverdien først, så blir andre verdier bestilt i synkende rekkefølge.
Eksempel 2 - Bruke ordre etter klausul med databasetabell
Følgende eksempel viser rader i tabellen nedenfor ved å bruke ordren etter leddet.
For å bestille radene basert på produsenten, kan vi kjøre spørringen som følger:
Velg * fra produsentens bestilling av produsenten;
Som standard vil spørringen bestille verdiene i stigende rekkefølge som vist:
For å bestille verdiene i synkende rekkefølge, kjør følgende:
Velg * fra produkter bestilling av produsenten Desc;
Produksjon:
Konklusjon
I dette innlegget diskuterte vi hvordan du bruker rekkefølgen BY -leddet i standard SQL, slik at du kan sortere radene i et resultat i stigende eller synkende rekkefølge.