Introduksjon til ORDER BY klausul i SQL

ORDER BY-ledd i SQL hjelper oss å kategorisere dataene i enten stigende eller synkende rekkefølge, avhengig av kolonnene i tabellene våre. ORDER BY er nøkkelordet som brukes i spørringen vår for å hjelpe oss med å sortere gjennom dataene. Som standard kategoriserer noen få databaser resultatene som returneres av spørringen i stigende rekkefølge. For å sortere dataene som er til stede i postene i synkende rekkefølge, bruker vi nøkkelordet DESC i spørringen. Vi har også nøkkelordet ASC for å kategorisere data i stigende rekkefølge, selv om vi stort sett ikke bruker dem på grunn av standardinnstillinger for databasen.

Parametere av ORDER BY Clause i SQL

  • column_name: Dette indikerer kolonnenavnet som vi ønsker å hente, basert på hvilke dataene skal ordnes.
  • tabellnavn: Dette indikerer navnet på tabellen som postene skal hentes fra. Vi må ha minst ett tabellnavn i denne parameteren.
  • HVOR tilstand: Dette er en valgfri parameter. HVOR klausul inneholder betingelsene som vi må oppfylle for at dataene skal velges.
  • ASC : Dette er nøkkelordet som brukes til å sortere kolonnedataene i stigende rekkefølge. Hvis ingen nøkkelord er nevnt, blir dataene sortert i stigende rekkefølge som standard.
  • DESC: Dette er nøkkelordet som brukes til å sortere kolonnedataene i synkende rekkefølge.
  • |: Dette er bare en indikator for “ELLER”, da vi skal bruke enten ASC eller DESC i spørringen vår deretter for resultatene.

BESTILLING AV klausul

Syntaks for ORDER BY er:

SELECT column_name(s)
FROM table_name(s)
(WHERE condition) (ORDER BY column1, column2, .. columnN) (ASC | DESC);

Syntaks for å sortere data i henhold til en enkelt kolonne

For å sortere data fra tabellen basert på en enkelt kolonne i enten stigende eller synkende rekkefølge, kan vi enten bruke ASC- eller DESC-nøkkelordene. I vårt eksempel vil vi sortere data i stigende rekkefølge og dermed bruke nøkkelordet ASC.

syntax

SELECT * FROM table_name ORDER BY column_name ASC

Syntaks for å sortere data i henhold til flere kolonner

For å sortere data i tabellen basert på flere kolonner i stigende eller synkende rekkefølge, kan vi enten bruke ASC- eller DESC-nøkkelordene. For å nevne de flere kolonnene som vi skal sortere data etter, må vi nevne navnene på kolonnene atskilt av komma (, ) -operatøren. I vårt eksempel vil vi sortere data i stigende rekkefølge og dermed bruke nøkkelordet ASC.

syntax

SELECT * FROM table_name ORDER BY column1 ASC, column2 ASC

Eksempler på ORDER BY klausul

La oss se på forskjellige eksempler for å forstå ORDER BY-klausulen bedre.

1. Eksempel for å sortere resultatene i en stigende rekkefølge

For å kategorisere resultatene i stigende rekkefølge, kan vi bruke ASC-nøkkelordet. Hvis det ikke er gitt noe nøkkelord, verken ASC eller DESC, er standard sorteringsrekkefølge stigende rekkefølge. La oss forstå dette ved hjelp av et eksempel. Vi har et ansattes bord.

Ansatt IDEmployeeLastNameEmployeeFirstNameEpost id
001 Donald Jo
002 Smith Jamie
003 Jones Amy
004 Reynolds Andy
005 Thomas Sally
006 brun Dan

Når vi prøver å ordne resultatene i stigende rekkefølge etter ansattens etternavn, kan vi bruke følgende utsagn, og resultatet som følger vises i tabellen etter.

SELECT *
FROM Employee
ORDER BY EmployeeLastName;

Resultat

Ansatt IDEmployeeLastNameEmployeeFirstNameEpost id
006 brun Dan
001 Donald Jo
003 Jones Amy
004 Reynolds Andy
002 Smith Jamie
005 Thomas Sally

Dette eksemplet gir alle oppføringene fra tabellen Ansatt sortert i stigende rekkefølge i henhold til feltet EmployeeLastName. Vi kan også bruke nøkkelordet ASC som følger for å få samme resultat.

SELECT EmployeeID, EmployeeLastName
FROM Employee
WHERE EmployeeID '003'
ORDER BY 1 DESC;

2. Eksempel for å sortere resultatene i fallende rekkefølge

Vi bruker nøkkelordet DESC når vi ønsker å sortere dataene i synkende rekkefølge, i vår BESTILL AV-ledd. La oss forstå dette ved hjelp av et eksempel. Vi har den samme tabellen Ansatt som inneholder følgende data.

Ansatt IDEmployeeLastNameEmployeeFirstNameEpost id
001 Donald Jo
002 Smith Jamie
003 Jones Amy
004 Reynolds Andy
005 Thomas Sally
006 brun Dan

Vi trenger bare ansatte som har en ansatt-ID som er større enn 2, og vi trenger våre data sortert i synkende rekkefølge. Vi bruker følgende SQL-setning for det samme og får resultatsettet med bare 4 poster.

SELECT *
FROM Employee
WHERE EmployeeID > 002
ORDER BY EmployeeID DESC;

Resultat:

Ansatt ID EmployeeLastName EmployeeFirstName Epost id
006 brun Dan
005 Thomas Sally
004 Reynolds Andy
003 Jones Amy

3. Eksempel for å sortere resultatene etter deres relative posisjon

Vi kan også ordne dataene våre etter den relative posisjonen til kolonnene, der 1 representerer det første feltet, 2 representerer det andre feltet, 3 representerer det tredje feltet og så videre. La oss prøve å ordne data i medarbeidertabellen vår i henhold til relative stillinger.

Ansatt IDEmployeeLastNameEmployeeFirstNamee-post
001 Donald Jo
002 Smith Jamie
003 Jones Amy
004 Reynolds Andy
005 Thomas Sally
006 brun Dan

Ved å bruke SQL-setningen som følger, kan vi ordne dataene i synkende rekkefølge til EmployeeID. Vi har også hevdet at vi bare trenger to kolonner fra tabellen, nemlig EmployeeID og EmployeeLastName, sammen med WHERE-leddet for å nevne at vi ikke ønsker noen rad som inneholder EmployeeID 003.

SELECT EmployeeID, EmployeeLastName
FROM Employee
WHERE EmployeeID '003'
ORDER BY 1 DESC;

Resultat

Ansatt IDEmployeeLastName
006 brun
005 Thomas
004 Reynolds
002 Smith
001 Donald

Siden kolonnen på stilling 1 er EmployeeID, blir resultatsettet sortert i henhold til EmployeeID.

Konklusjon

I SQL returnerer ikke SELECT-setningen data i noen spesifikk rekkefølge. For å garantere en bestemt ordre benytter vi oss av ORDER BY-klausulen. ORDER BY sorteres på grunnlag av en eller flere kolonner. Postene returneres i stigende eller synkende rekkefølge. Hvis ASC- eller DESC-nøkkelord ikke er oppgitt, vil resultatene bli kategorisert i stigende rekkefølge.

Anbefalt artikkel

Dette har vært en guide til ORDER BY-klausulen i SQL. Her diskuterer vi parametrene og forskjellige eksempler på ORDER BY-ledd sammen med syntaks. Du kan også gå gjennom andre foreslåtte artikler for å lære mer -

  1. Fordeler med NoSQL
  2. SQL Management Tools
  3. T-SQL-strengfunksjoner
  4. PostgreSQL-datatyper
  5. Ulike typer SQL-data med eksempler