Tietojen lajittelu tulee esille skenaarioissa, joissa tiedot on järjestettävä tiettyyn järjestykseen, mikä on hyödyllistä datan visualisoinnissa, tietojen keräämisessä ja monessa muussa. Se helpottaa myös tietojen hakemista, puhdistamista ja analysointia huomattavasti.
SQL:ssä meillä on ORDER BY -lause, joka tarjoaa meille toiminnon lajitella tiedot nousevaan tai laskevaan järjestykseen.
Tässä opetusohjelmassa opimme lajittelemaan tiedot nousevaan järjestykseen käyttämällä ORDER BY- ja ASC-avainsanaa.
HUOMAA: Käytämme esittelytarkoituksiin Sakilan mallitietokantaa ja MySQL-versiota 8.0. Voit vapaasti viitata ja käyttää mitä tahansa sopivaksi katsomaasi tietojoukkoa.
SQL nouseva järjestys
Nouseva järjestys SQL:ssä viittaa yksinkertaisesti menetelmään lajitella tiedot kyselyn tuloksessa. Nouseva järjestys voi olla joko numeerinen tai aakkosellinen kohdelajittelusarakkeen mukaan.
Kun käytämme nousevaa järjestystä sarakkeiden lajitteluun, SQL järjestää tiedot, jotka vaihtelevat pienimmästä (pienimmästä) arvosta suurimpaan (korkeimpaan) arvoon.
Merkkijonojen tapauksessa nousevassa järjestyksessä käytetään aakkosjärjestystä, jossa A on pienin ja Z on suurin.
SQL ORDER BY
Kuten voit arvata, tapa, jolla suoritamme lajittelun, nousevan tai laskevan SQL:n, käytetään ORDER BY -lausetta.
ORDER BY -lause antaa meille mahdollisuuden lajitella kyselyn tulosjoukon yhden tai useamman sarakkeen perusteella. Voimme ilmaista lauseen syntaksin seuraavasti:
VALITSE sarake1, sarake2, ...taulukosta
TILAUS BY sarakkeen_lajittelu;
ORDER BY -lauseen jälkeen määritämme lajittelukriteerit. Tämä on pohjimmiltaan se sarake, jonka haluamme tilata.
SQL ASC -avainsana
ASC-avainsana ORDER BY -lauseen yhteydessä käskee tietokantakonetta lajittelemaan tiedot nousevaan järjestykseen.
On hyvä pitää mielessä, että tämä on ORDER BY -lausekkeen oletusasetus. Näin ollen, vaikka emme nimenomaisesti käskeisi SQL:ää lajittelemaan tietoja nousevaan järjestykseen, se tekee sen automaattisesti oletustoimintona.
Tässä on syntaksi siitä, kuinka käytämme ASC-avainsanaa ORDER BY -lauseessa:
VALITSE sarake1, sarake2FROM taulukon_nimi
TILAUS BY sarakkeen ASC;
Tämän pitäisi lajitella määritetty sarake nousevaan järjestykseen.
Esimerkki 1: Peruskäyttö
Katsotaanpa esimerkkiä ORDER BY -lauseen käytöstä. Harkitse Sakilan näytetietokannan ”filmi”-taulukkoa. Oletetaan, että haluamme lajitella tiedot korkeimmasta vuokrahinnasta nousevaan järjestykseen.
VALITSEotsikko,
release_year ,
pituus,
vuokra_korko
FROM
elokuva
TILAUS BY
vuokra_korko ASC;
Tässä tapauksessa käytämme ORDER BY -lausekkeen 'vuokrahintaa' lajitellaksemme elokuvat nopeasti alimmasta korkeimpaan vuokrahintaan.
Tuloksena oleva tulos on seuraava:
Esimerkki 2: Useiden sarakkeiden lajittelu
SQL mahdollistaa myös useamman kuin yhden sarakkeen tarjoamisen lajitteluparametriksi. Tämä voi olla erittäin hyödyllistä, kun meidän on lajiteltava tiedot useamman kuin yhden kriteerin perusteella.
Tämän saavuttamiseksi voimme yksinkertaisesti luetella useita sarakkeita ORDER BY -lauseessa pilkulla erotettuina.
Otetaan 'maksu'-taulukko Sakilan pöydästä. Voimme lajitella summan ja 'maksupäivämäärän' perusteella nousevassa järjestyksessä seuraavan esimerkkikyselyn mukaisesti:
VALITSEAsiakas ID,
määrä,
maksupäivä
FROM
maksu
TILAUS BY
määrä ASC,
maksupäivä ASC;
Tämän kyselyn tulee hakea 'customer_id', 'amount' ja 'payment_date' sarakkeet 'maksu'-taulukosta. Kysely kuitenkin lajittelee ensin tuloksen nousevaan järjestykseen maksusumman ja sen jälkeen maksupäivän perusteella.
Tämä tarjoaa kaksinkertaiset lajittelukriteerit tuloksena olevan taulukon mukaisesti:
Johtopäätös
Tässä opetusohjelmassa sukelsimme syvälle tietojen lajitteluprosessiin SQL:ssä käyttämällä ORDER BY -lausetta. Opimme myös kuinka voimme käyttää ASC-avainsanaa tietojen lajitteluun nousevaan järjestykseen. Lopuksi tutkimme, kuinka voimme lajitella tiedot käyttämällä useita sarakkeita.