Johdatus SQL-tilauksen lausekkeeseen
SQL: n ORDER BY -lause auttaa meitä luokittelemaan tietomme joko nousevaan tai laskevaan järjestykseen taulukoidemme sarakkeista riippuen. ORDER BY on avainsana, jota käytetään kyselyssämme auttaaksemme meitä lajittelemaan tietoja. Oletuksena muutama tietokanta luokittelee kyselyn palauttamat tulokset nousevassa järjestyksessä. Tietueissa olevien tietojen lajittelemiseksi alenevassa järjestyksessä käytämme kyselyssämme avainsanaa DESC. Meillä on myös avainsana ASC luokitellaksesi tiedot nousevassa järjestyksessä, vaikka enimmäkseen emme käytä niitä tietokannan oletusasetusten takia.
ORDER BY -lauseen parametrit SQL: ssä
- sarakkeen_nimi: Tämä osoittaa sarakkeen nimen, jonka haluamme noutaa sen perusteella, mihin tiedot on tarkoitus järjestää.
- table_name: Tämä osoittaa sen taulukon nimen, josta tietueet on hankittava. Meillä on oltava vähintään yksi taulukon nimi tässä parametrissa.
- Missä ehto: Tämä on valinnainen parametri. WHERE-lause sisältää ehdot, jotka meidän on täytettävä tietojen valintaa varten.
- ASC : Tätä avainsanaa käytetään sarakkeen tietojen lajitteluun nousevassa järjestyksessä. Jos avainsanaa ei mainita, tiedot lajitellaan nousevassa järjestyksessä oletuksena.
- DESC: Tämä on avainsana, jota käytetään sarakkeen tietojen lajitteluun laskevassa järjestyksessä.
- |: Tämä on vain indikaattori “OR”: lle, koska tuloksissa käytetään vastaavasti kyselyssämme joko ASC: tä tai DESC: tä.
TILAUS lauseella
ORDER BY: n syntaksi on:
SELECT column_name(s)
FROM table_name(s)
(WHERE condition) (ORDER BY column1, column2, .. columnN) (ASC | DESC);
Syntaksi tietojen lajittelua varten yhden sarakkeen mukaan
Voit lajitella taulukon tiedot yhden sarakkeen perusteella joko nousevassa tai laskevassa järjestyksessä, käyttämällä joko ASC- tai DESC-avainsanoja. Esimerkissämme lajittelemme tiedot nousevassa järjestyksessä käyttämällä siten avainsanaa ASC.
Syntaksi
SELECT * FROM table_name ORDER BY column_name ASC
Syntaksi tietojen lajittelua varten useiden sarakkeiden mukaan
Voit lajitella taulukon tiedot useiden sarakkeiden perusteella joko nousevassa tai laskevassa järjestyksessä, käyttämällä joko ASC- tai DESC-avainsanoja. Mainitaksesi useita sarakkeita, joiden mukaan lajittelemme tietoja, meidän on mainittava pilkku (, ) -operaattorin toisistaan erottamien sarakkeiden nimet. Esimerkissämme lajittelemme tiedot nousevassa järjestyksessä käyttämällä siten avainsanaa ASC.
Syntaksi
SELECT * FROM table_name ORDER BY column1 ASC, column2 ASC
Esimerkkejä tilauksesta lauseella
Tarkastellaan erilaisia esimerkkejä ymmärtääksesi tilauksen lausekkeen paremmin.
1. Esimerkki tulosten lajittelemisesta nousevassa järjestyksessä
Tulokset voidaan luokitella nousevassa järjestyksessä käyttämällä ASC-avainsanaa. Jos avainsanaa, joko ASC: tä tai DESC: tä ei ole annettu, oletusjärjestysjärjestys on nouseva. Ymmärtäkäämme tämä esimerkin avulla. Meillä on työntekijäpöytä.
Henkilöstökortti | EmployeeLastName | EmployeeFirstName | Sähköposti tunnus |
001 | Donald | Jo | |
002 | seppä | Jamie | |
003 | Jones | Amy | |
004 | Reynolds | Andy | |
005 | Thomas | rynnäkkö | |
006 | Ruskea | dan |
Kun yritämme järjestää tulokset työntekijän sukunimen nousevassa järjestyksessä, voimme käyttää seuraavaa lausumaa, ja seuraava tulos näkyy seuraavassa taulukossa.
SELECT *
FROM Employee
ORDER BY EmployeeLastName;
Tulos
Henkilöstökortti | EmployeeLastName | EmployeeFirstName | Sähköposti tunnus |
006 | Ruskea | dan | |
001 | Donald | Jo | |
003 | Jones | Amy | |
004 | Reynolds | Andy | |
002 | seppä | Jamie | |
005 | Thomas | rynnäkkö |
Tämä esimerkki antaa takaisin kaikki työntekijätaulukon tietueet, jotka on lajiteltu nousevassa järjestyksessä EmployeeLastName-kentän mukaisesti. Voimme käyttää myös avainsanaa ASC seuraavasti, saadaksemme saman tuloksen.
SELECT EmployeeID, EmployeeLastName
FROM Employee
WHERE EmployeeID '003'
ORDER BY 1 DESC;
2. Esimerkki tulosten lajittelusta laskevassa järjestyksessä
Käytämme avainsanaa DESC, kun haluamme lajitella tietomme laskevassa järjestyksessä ORDER BY -lausekkeessa. Ymmärtäkäämme tämä esimerkin avulla. Meillä on sama työntekijätaulukko, joka sisältää seuraavat tiedot.
Henkilöstökortti | EmployeeLastName | EmployeeFirstName | Sähköposti tunnus |
001 | Donald | Jo | |
002 | seppä | Jamie | |
003 | Jones | Amy | |
004 | Reynolds | Andy | |
005 | Thomas | rynnäkkö | |
006 | Ruskea | dan |
Tarvitsemme vain työntekijöitä, joiden työntekijän tunnus on yli 2, ja tarvitsemme tietomme laskevassa järjestyksessä. Käytämme seuraavaa SQL-käskyä samaan ja saamme tulosjoukotaulukon, jossa on vain 4 tietuetta.
SELECT *
FROM Employee
WHERE EmployeeID > 002
ORDER BY EmployeeID DESC;
Tulos:
Henkilöstökortti | EmployeeLastName | EmployeeFirstName | Sähköposti tunnus |
006 | Ruskea | dan | |
005 | Thomas | rynnäkkö | |
004 | Reynolds | Andy | |
003 | Jones | Amy |
3. Esimerkki tulosten lajitteluun suhteellisen sijaintinsa perusteella
Voimme myös järjestää tietomme sarakkeiden suhteellisen sijainnin perusteella, missä 1 edustaa ensimmäistä kenttää, 2 edustaa toista kenttää, 3 edustaa kolmatta kenttää ja niin edelleen. Yrittäkäämme järjestää työntekijätaulukkomme tiedot suhteellisen sijainnin mukaan.
Henkilöstökortti | EmployeeLastName | EmployeeFirstName | sähköposti |
001 | Donald | Jo | |
002 | seppä | Jamie | |
003 | Jones | Amy | |
004 | Reynolds | Andy | |
005 | Thomas | rynnäkkö | |
006 | Ruskea | dan |
Käyttämällä SQL-käskyä seuraavasti, voimme järjestää tiedot työntekijän tunnuksen laskevassa järjestyksessä. Olemme myös väittäneet, että tarvitsemme taulukosta vain kahta saraketta, nimittäin EmployeeID ja EmployeeLastName, WHERE-lauseen käytön yhteydessä mainitaksemme, että emme halua työntekijäID 003: ta sisältävää riviä.
SELECT EmployeeID, EmployeeLastName
FROM Employee
WHERE EmployeeID '003'
ORDER BY 1 DESC;
Tulos
Henkilöstökortti | EmployeeLastName |
006 | Ruskea |
005 | Thomas |
004 | Reynolds |
002 | seppä |
001 | Donald |
Koska sarakkeessa 1 on työntekijän tunnus, tulosjoukko lajitellaan työntekijän tunnuksen mukaan.
johtopäätös
SQL: ssä SELECT-käsky ei palauta tietoja tietyssä järjestyksessä. Tietyn tilauksen takaamiseksi käytämme ORDER BY -lauseketta. ORDER BY lajittelee yhden tai useamman sarakkeen perusteella. Tietueet palautetaan joko nousevassa tai laskevassa järjestyksessä. Jos ASC- tai DESC-avainsanaa ei ole annettu, tulokset luokitellaan nousevassa järjestyksessä.
Suositeltava artikkeli
Tämä on opas ORDER BY -lauseeseen SQL: ssä. Tässä keskustellaan ORDER BY -lausekkeen parametreista ja erilaisista esimerkeistä syntaksin kanssa. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -
- NoSQL: n edut
- SQL-hallintatyökalut
- T-SQL-merkkijonotoiminnot
- PostgreSQL-tietotyypit
- Erityyppiset SQL-tiedot esimerkkeinä