Uvod v ORDER BY Klavzulo v SQL
Odredba ORDER BY v SQL nam pomaga razvrstiti podatke v naraščajočem ali padajočem vrstnem redu, odvisno od stolpcev naših tabel. ORDER BY je ključna beseda, ki se uporablja v naši poizvedbi, da nam pomaga razvrščati podatke. Privzeto nekaj baz podatkov kategorizira rezultate, ki jih vrne poizvedba v naraščajočem vrstnem redu. Za razvrščanje podatkov v zapisih po padajočem vrstnem redu uporabimo ključno besedo DESC v poizvedbi. Imamo tudi ključno besedo ASC za razvrščanje podatkov v naraščajočem vrstnem redu, čeprav jih večinoma ne uporabljamo zaradi privzetih nastavitev baze podatkov.
Parametri ORDER BY Klavzula v SQL
- ime stolpca: To pomeni ime stolpca, ki ga želimo pridobiti, na podlagi katerega naj bodo podatki razporejeni.
- table_name: To pomeni ime tabele, iz katere je treba pridobiti zapise. V tem parametru moramo imeti vsaj eno ime tabele.
- Pogoj KJE: To je izbirni parameter. Kjer Klavzula vsebuje pogoje, ki jih moramo izpolnjevati za izbrane podatke.
- ASC : To je ključna beseda, ki se uporablja za razvrščanje podatkov stolpcev po naraščajočem vrstnem redu. Če ni omenjena nobena ključna beseda, so podatki razvrščeni po privzetem vrstnem redu po naraščajočem vrstnem redu.
- DESC: To je ključna beseda, ki se uporablja za razvrščanje podatkov stolpcev po padajočem vrstnem redu.
- |: To je samo indikator za "ALI", saj bomo za svoje rezultate v rezultatih poizvedbe uporabili bodisi ASC ali DESC.
NAROČITE PO Klavzuli
Sintaksa ORDER BY je:
SELECT column_name(s)
FROM table_name(s)
(WHERE condition) (ORDER BY column1, column2, .. columnN) (ASC | DESC);
Sintaksa za razvrščanje podatkov glede na en stolpec
Podatke tabele razvrstimo na podlagi enega stolpca v naraščajočem ali padajočem vrstnem redu, lahko uporabimo ključne besede ASC ali DESC. V našem primeru bomo podatke razvrstili v naraščajočem vrstnem redu in s tem uporabili ključno besedo ASC.
Sintaksa
SELECT * FROM table_name ORDER BY column_name ASC
Sintaksa za razvrščanje podatkov po več stolpcih
Podatke tabele razvrstimo na podlagi več stolpcev v naraščajočem ali padajočem vrstnem redu, lahko uporabimo ključne besede ASC ali DESC. Če želimo omeniti več stolpcev, po katerih bomo razvrščali podatke, moramo omeniti imena stolpcev, ločenih z zarezom (, ). V našem primeru bomo podatke razvrstili v naraščajočem vrstnem redu in s tem uporabili ključno besedo ASC.
Sintaksa
SELECT * FROM table_name ORDER BY column1 ASC, column2 ASC
Primeri NAROČILA PO Klavzuli
Oglejmo si različne primere za boljše razumevanje NAROČILA PO Klavzuli.
1. Primer za razvrščanje rezultatov v naraščajočem vrstnem redu
Za razvrstitev rezultatov v naraščajočem vrstnem redu lahko uporabimo ključno besedo ASC. Če ni bila zagotovljena nobena ključna beseda, ASC ali DESC, je privzeti vrstni red razvrščanja naraščajoč. Razumejmo to s pomočjo primera. Imamo mizo za zaposlene.
ID zaposlenega | EmployeeLastName | EmployeeFirstName | EmailID |
001 | Donald | Jo | |
002 | Smith | Jamie | |
003 | Jones | Amy | |
004 | Reynolds | Andy | |
005 | Thomas | Sally | |
006 | rjav | Dan |
Ko poskušamo rezultate razporediti v naraščajočem vrstnem redu priimka zaposlenega, lahko uporabimo naslednji stavek, rezultat, ki sledi, pa je prikazan v tabeli za.
SELECT *
FROM Employee
ORDER BY EmployeeLastName;
Rezultat
ID zaposlenega | EmployeeLastName | EmployeeFirstName | EmailID |
006 | rjav | Dan | |
001 | Donald | Jo | |
003 | Jones | Amy | |
004 | Reynolds | Andy | |
002 | Smith | Jamie | |
005 | Thomas | Sally |
Ta primer prikazuje vse zapise iz tabele Zaposleni, razvrščene po naraščajočem vrstnem redu glede na polje EmployeeLastName. Za enak rezultat lahko uporabimo tudi ključno besedo ASC, kot sledi.
SELECT EmployeeID, EmployeeLastName
FROM Employee
WHERE EmployeeID '003'
ORDER BY 1 DESC;
2. Primer, da rezultate razvrstite po padajočem vrstnem redu
Ključno besedo DESC uporabljamo, kadar želimo svoje podatke razvrstiti po padajočem vrstnem redu, v oddelku ORDER BY. Razumejmo to s pomočjo primera. Imamo isto tabelo Zaposleni, ki vsebuje naslednje podatke.
ID zaposlenega | EmployeeLastName | EmployeeFirstName | EmailID |
001 | Donald | Jo | |
002 | Smith | Jamie | |
003 | Jones | Amy | |
004 | Reynolds | Andy | |
005 | Thomas | Sally | |
006 | rjav | Dan |
Potrebujemo samo zaposlene, katerih zaposleni ID je večji od 2 in potrebujemo svoje podatke razvrščene po padajočem vrstnem redu. Naslednji stavek SQL uporabljamo za isto in dobimo tabelo z rezultati s samo 4 zapisi.
SELECT *
FROM Employee
WHERE EmployeeID > 002
ORDER BY EmployeeID DESC;
Rezultat:
ID zaposlenega | EmployeeLastName | EmployeeFirstName | ID e-pošte |
006 | rjav | Dan | |
005 | Thomas | Sally | |
004 | Reynolds | Andy | |
003 | Jones | Amy |
3. Primer razvrstite rezultate glede na njihov relativni položaj
Naše podatke lahko razporedimo tudi po relativnem položaju stolpcev, kjer 1 predstavlja prvo polje, 2 predstavlja drugo polje, 3 predstavlja tretje polje in tako naprej. Poskusimo razporediti podatke v naši tabeli zaposlenih glede na relativna stališča.
ID zaposlenega | EmployeeLastName | EmployeeFirstName | E-naslov |
001 | Donald | Jo | |
002 | Smith | Jamie | |
003 | Jones | Amy | |
004 | Reynolds | Andy | |
005 | Thomas | Sally | |
006 | rjav | Dan |
Z uporabo stavka SQL na naslednji način lahko podatke razporedimo po padajočem vrstnem redu EmployeeID. Prav tako smo zatrdili, da potrebujemo samo dva stolpca iz tabele, in sicer EmployeeeID in EmployeeLastName, skupaj s klavzulo WHERE pa omenimo, da ne želimo nobene vrstice, ki vsebuje EmployeeID 003.
SELECT EmployeeID, EmployeeLastName
FROM Employee
WHERE EmployeeID '003'
ORDER BY 1 DESC;
Rezultat
ID zaposlenega | EmployeeLastName |
006 | rjav |
005 | Thomas |
004 | Reynolds |
002 | Smith |
001 | Donald |
Ker je stolpec na položaju 1, je EmployeeID, se niz rezultatov razvrsti glede na EmployeeID.
Zaključek
V SQL stavek SELECT podatkov ne vrne v nobenem določenem vrstnem redu. Za zagotovitev določenega naročila uporabljamo določbo ORDER BY. NAROČITE PO razvrstitvi na podlagi enega ali več stolpcev. Zapisi se vračajo v naraščajočem ali padajočem vrstnem redu. Če ključna beseda ASC ali DESC ni bila zagotovljena, bodo rezultati razvrščeni po naraščajočem vrstnem redu.
Priporočeni članek
To je vodnik za odredbo ORDER BY v SQL. Tukaj obravnavamo parametre in različne primere stavka ORDER BY skupaj s skladnjo. Če želite izvedeti več, lahko preberete tudi druge naše predlagane članke -
- Prednosti NoSQL
- Orodja za upravljanje SQL
- Funkcije nizov T-SQL
- Vrste podatkov PostgreSQL
- Različne vrste podatkov SQL s primeri