SQL -ordre av

SQL -ordre av

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.