Sissejuhatus SQL-i klausli ORDER BY klausli sisse

SQL-i tellimuse klausel aitab meil liigitada oma andmeid kas kasvavas või kahanevas järjekorras, sõltuvalt meie tabelite veergudest. ORDER BY on märksõna, mida meie päringus kasutatakse andmete sorteerimisel. Vaikimisi liigitavad vähesed andmebaasid päringuga tagastatud tulemused kasvavas järjekorras. Kirjetes sisalduvate andmete sortimiseks kahanevas järjekorras kasutame päringus märksõna DESC. Samuti on meil märksõna ASC andmete liigitamiseks kasvavas järjekorras, kuigi enamasti ei kasuta me seda andmebaasi vaikesätete tõttu.

SQL-is esitatud klausli ORDER BY parameetrid

  • veeru_nimi: see osutab veeru nimele, mida me tahame hankida, mille põhjal andmeid tuleb korraldada.
  • tabeli_nimi: see näitab tabeli nime, kust kirjed tuleb hankida. Selles parameetris peab olema vähemalt üks tabeli nimi.
  • Kus tingimus: see on valikuline parameeter. KUS klausel sisaldab tingimusi, millele peame andmete valimiseks vastama.
  • ASC : see on märksõna, mida kasutatakse veeru andmete sortimiseks kasvavas järjekorras. Kui ühtegi märksõna pole nimetatud, sorteeritakse andmed vaikimisi kasvavas järjekorras.
  • DESC: seda märksõna kasutatakse veeru andmete sortimiseks kahanevas järjekorras.
  • |: See on vaid tähis „VÕI” jaoks, kuna tulemuste saamiseks peame oma päringus kasutama kas ASC või DESC.

TELLIMUS klausli järgi

ORDER BY süntaks on:

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

Süntaks andmete sortimiseks ühe veeru järgi

Tabeli andmete sortimiseks ühe veeru alusel kasvavas või kahanevas järjekorras saame kasutada märksõnu ASC või DESC. Meie näites sorteerime andmeid kasvavas järjekorras, kasutades selleks märksõna ASC.

Süntaks

SELECT * FROM table_name ORDER BY column_name ASC

Andmete sortimise süntaks mitme veeru järgi

Tabeli andmete sortimiseks mitmete veergude alusel kasvavas või kahanevas järjekorras saame kasutada märksõnu ASC või DESC. Mitme veeru nimetamiseks, mille järgi andmeid sorteerime, peame mainima komaga (, ) eraldatud veergude nimesid. Meie näites sorteerime andmeid kasvavas järjekorras, kasutades selleks märksõna ASC.

Süntaks

SELECT * FROM table_name ORDER BY column1 ASC, column2 ASC

Näited TELLIMUSEST klausli järgi

Vaadakem erinevaid näiteid, et mõista tellimuse klausli paremaks mõistmist.

1. Näide tulemuste sortimiseks kasvavas järjekorras

Tulemuste liigitamiseks kasvavas järjekorras saame kasutada märksõna ASC. Kui ühtegi märksõna, ASC või DESC pole esitatud, on vaikimisi sortimisjärjestus kasvav. Mõistagem seda näite abil. Meil on töötajate laud.

Töötaja IDEmployeeLastNameEmployeeFirstNameE-kirja ID
001 Donald Jo
002 Smith Jamie
003 Jones Amy
004 Reynolds Andy
005 Thomas Sally
006 Pruun Dan

Kui proovime tulemusi korraldada töötaja perekonnanime kasvavas järjekorras, võime kasutada järgmist avaldust ja järgmine tulemus kuvatakse järgnevas tabelis.

SELECT *
FROM Employee
ORDER BY EmployeeLastName;

Tulemus

Töötaja IDEmployeeLastNameEmployeeFirstNameE-kirja ID
006 Pruun Dan
001 Donald Jo
003 Jones Amy
004 Reynolds Andy
002 Smith Jamie
005 Thomas Sally

See näide annab tagasi kõik tabeli Töötaja kirjed, mis on järjestatud kasvavas järjekorras vastavalt väljale EmployeeLastName. Sama tulemuse saamiseks võime märksõna ASC kasutada ka järgmiselt.

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

2. Näide tulemuste sortimiseks kahanevas järjekorras

Kasutame märksõna DESC, kui soovime oma andmeid järjestada kahanevas järjekorras meie TELLIMISE POOLE. Mõistagem seda näite abil. Meil on sama tabel töötaja, mis sisaldab järgmisi andmeid.

Töötaja IDEmployeeLastNameEmployeeFirstNameE-kirja ID
001 Donald Jo
002 Smith Jamie
003 Jones Amy
004 Reynolds Andy
005 Thomas Sally
006 Pruun Dan

Vajame ainult töötajaid, kelle töötaja ID on suurem kui 2, ja vajame oma andmeid kahanevas järjekorras. Kasutame sama SQL-lause järgmist ja saame tulemuste kogumi tabeli, milles on ainult 4 kirjet.

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

Tulemus:

Töötaja ID EmployeeLastName EmployeeFirstName E-kirja ID
006 Pruun Dan
005 Thomas Sally
004 Reynolds Andy
003 Jones Amy

3. Näide tulemuste sortimiseks nende suhtelise positsiooni järgi

Saame oma andmeid korraldada ka veergude suhtelise positsiooni järgi, kus 1 tähistab esimest välja, 2 tähistab teist välja, 3 tähistab kolmandat välja ja nii edasi. Proovime korraldada oma töötajate tabelis olevad andmed vastavalt suhtelisele positsioonidele.

Töötaja IDEmployeeLastNameEmployeeFirstNamee-post
001 Donald Jo
002 Smith Jamie
003 Jones Amy
004 Reynolds Andy
005 Thomas Sally
006 Pruun Dan

Kasutades SQL-lause järgmiselt, saame andmeid korraldada kahanevas järjekorras EmployeeID-ga. Samuti oleme väitnud, et vajame tabelist ainult kahte veergu, nimelt EmployeeID ja EmployeeLastName, koos WHERE klausli kasutamisega, et mainida, et me ei soovi ühtegi töötajat ID 003 sisaldavat rida.

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

Tulemus

Töötaja IDEmployeeLastName
006 Pruun
005 Thomas
004 Reynolds
002 Smith
001 Donald

Kuna positsiooni 1 veerg on EmployeeID, sorteeritakse tulemuskomplekt vastavalt EmployeeID.

Järeldus

SQL-is ei tagasta SELECT-lause andmeid mingis kindlas järjekorras. Konkreetse tellimuse tagamiseks kasutame klauslit ORDER BY. ORDER BY sorteerib ühe või mitme veeru alusel. Kirjed tagastatakse kasvavas või kahanevas järjekorras. Kui märksõna ASC või DESC pole esitatud, siis kategoriseeritakse tulemused kasvavas järjekorras.

Soovitatav artikkel

See on SQL-is esitatud klausli ORDER BY klausli juhend. Siin käsitleme klausli ORDER BY parameetreid ja erinevaid näiteid koos süntaksiga. Lisateavet leiate ka meie muudest soovitatud artiklitest -

  1. NoSQL eelised
  2. SQL-i haldustööriistad
  3. T-SQL stringifunktsioonid
  4. PostgreSQL andmetüübid
  5. Erinevat tüüpi SQL-i andmed koos näidetega