Introduktion til ORDER BY-klausul i SQL

ORDER BY-klausul i SQL hjælper os med at kategorisere vores data i enten stigende eller faldende rækkefølge, afhængigt af kolonnerne i vores tabeller. BESTILLING AF er det nøgleord, der bruges i vores forespørgsel til at hjælpe os med at sortere dataene. Som standard kategoriserer nogle få databaser de resultater, der er returneret af forespørgslen, i stigende rækkefølge. For at sortere de data, der findes i posterne i faldende rækkefølge, bruger vi nøgleordet DESC i vores forespørgsel. Vi har også nøgleordet ASC til at kategorisere data i stigende rækkefølge, selvom vi for det meste ikke bruger dem på grund af standardindstillingerne i databasen.

Parametre af ORDER BY-klausul i SQL

  • column_name: Dette angiver det kolonnenavn, som vi ønsker at hente, baseret på hvilke dataene skal arrangeres.
  • tabelnavn: Dette angiver navnet på den tabel, hvorfra posterne skal hentes. Vi skal have mindst et tabelnavn i denne parameter.
  • HVOR tilstand: Dette er en valgfri parameter. HVOR klausul indeholder de betingelser, vi skal opfylde for de data, der skal vælges.
  • ASC : Dette er nøgleordet, der bruges til at sortere kolonnedataene i stigende rækkefølge. Hvis der ikke nævnes noget nøgleord, sorteres data som stigende rækkefølge som standard.
  • DESC: Dette er nøgleordet, der bruges til at sortere kolonnedataene i faldende rækkefølge.
  • |: Dette er bare en indikator for “ELLER”, da vi skal bruge ASC eller DESC i vores forespørgsel i overensstemmelse hermed til resultaterne.

BESTILLING AF klausul

Syntaks for ORDER BY er:

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

Syntaks til sortering af data i henhold til en enkelt kolonne

For at sortere data fra tabellen baseret på en enkelt kolonne i enten stigende eller faldende rækkefølge, kan vi enten bruge ASC- eller DESC-nøgleordene. I vores eksempel vil vi sortere data i stigende rækkefølge og dermed bruge nøgleordet ASC.

Syntaks

SELECT * FROM table_name ORDER BY column_name ASC

Syntaks til sortering af data i henhold til flere kolonner

For at sortere data fra tabellen baseret på flere kolonner i stigende eller faldende rækkefølge, kan vi enten bruge ASC- eller DESC-nøgleordene. For at nævne de flere kolonner, som vi vil sortere dataene efter, skal vi nævne navnene på de kolonner, der er adskilt af komma-operatøren. I vores eksempel vil vi sortere data i stigende rækkefølge og dermed bruge nøgleordet ASC.

Syntaks

SELECT * FROM table_name ORDER BY column1 ASC, column2 ASC

Eksempler på ORDER BY-klausul

Lad os se på forskellige eksempler for at forstå ORDER BY-klausulen bedre.

1. Eksempel til sortering af resultaterne i en stigende rækkefølge

For at kategorisere resultaterne i stigende rækkefølge kan vi bruge ASC-nøgleordet. Hvis der ikke er angivet noget nøgleord, hverken ASC eller DESC, er standard sorteringsrækkefølgen stigende rækkefølge. Lad os forstå dette ved hjælp af et eksempel. Vi har et medarbejderbord.

Medarbejder-IDEmployeeLastNameEmployeeFirstNameEMAILID
001 Donald Jo
002 Smith Jamie
003 Jones Amy
004 Reynolds Andy
005 Thomas Sally
006 Brun Dan

Når vi prøver at arrangere resultaterne i stigende rækkefølge efter medarbejderens efternavn, kan vi bruge følgende udsagn, og resultatet, der følger, vises i tabellen efter.

SELECT *
FROM Employee
ORDER BY EmployeeLastName;

Resultat

Medarbejder-IDEmployeeLastNameEmployeeFirstNameEMAILID
006 Brun Dan
001 Donald Jo
003 Jones Amy
004 Reynolds Andy
002 Smith Jamie
005 Thomas Sally

Dette eksempel returnerer alle poster fra medarbejder- tabellen sorteret i stigende rækkefølge i henhold til feltet EmployeeLastName. Vi kan også bruge nøgleordet ASC som følger for at få det samme resultat.

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

2. Eksempel til sortering af resultaterne i en faldende rækkefølge

Vi bruger nøgleordet DESC, når vi vil sortere vores data i faldende rækkefølge, i vores ORDER BY-klausul. Lad os forstå dette ved hjælp af et eksempel. Vi har den samme tabel Medarbejder, der indeholder følgende data.

Medarbejder-IDEmployeeLastNameEmployeeFirstNameEMAILID
001 Donald Jo
002 Smith Jamie
003 Jones Amy
004 Reynolds Andy
005 Thomas Sally
006 Brun Dan

Vi har kun brug for medarbejdere, hvis medarbejder-id er større end 2, og vi har brug for vores data sorteret i faldende rækkefølge. Vi bruger følgende SQL-sætning til det samme og får resultatsættetabellen med kun 4 poster.

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

Resultat:

Medarbejder-ID EmployeeLastName EmployeeFirstName E-mail-id
006 Brun Dan
005 Thomas Sally
004 Reynolds Andy
003 Jones Amy

3. Eksempel for at sortere resultaterne efter deres relative position

Vi kan også arrangere vores data efter den relative placering af kolonnerne, hvor 1 repræsenterer det første felt, 2 repræsenterer det andet felt, 3 repræsenterer det tredje felt og så videre. Lad os prøve at arrangere data i vores medarbejdertabel i henhold til relative positioner.

Medarbejder-IDEmployeeLastNameEmployeeFirstNamee-mail
001 Donald Jo
002 Smith Jamie
003 Jones Amy
004 Reynolds Andy
005 Thomas Sally
006 Brun Dan

Ved at bruge SQL-sætningen som følger, kan vi arrangere dataene i faldende rækkefølge af EmployeeID. Vi har også hævdet, at vi kun har brug for to kolonner fra tabellen, nemlig EmployeeID og EmployeeLastName, sammen med WHERE-klausulen for at nævne, at vi ikke ønsker nogen række, der indeholder EmployeeID 003.

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

Resultat

Medarbejder-IDEmployeeLastName
006 Brun
005 Thomas
004 Reynolds
002 Smith
001 Donald

Da kolonnen i position 1 er EmployeeID, sorteres resultatsættet efter EmployeeID.

Konklusion

I SQL returnerer SELECT-sætningen ikke data i nogen bestemt rækkefølge. For at garantere en bestemt ordre bruger vi ORDER BY-klausulen. ORDER BY sorteres på basis af en eller flere kolonner. Poster returneres i stigende eller faldende rækkefølge. Hvis der ikke er angivet ASC- eller DESC-nøgleord, kategoriseres resultaterne i stigende rækkefølge.

Anbefalet artikel

Dette har været en guide til ORDER BY-klausulen i SQL. Her diskuterer vi parametrene og forskellige eksempler på ORDER BY-klausul sammen med syntaks. Du kan også gennemgå vores andre foreslåede artikler for at lære mere -

  1. Fordele ved NoSQL
  2. SQL-styringsværktøjer
  3. T-SQL strengfunktioner
  4. PostgreSQL-datatyper
  5. Forskellige typer af SQL-data med eksempler