Onneksi SQL:ssä meillä on pääsy LIMIT-lauseeseen, jonka avulla voimme hallita tietyssä tulosjoukossa palautettavien rivien määrää. Tämä ominaisuus on erittäin hyödyllinen, kun käsittelemme suurta tietojoukkoa, emmekä tarvitse koko riviä vaan sen osajoukkoa. Tämä voi olla joko tietojen tai esityksen asettelun saaminen.
Tässä opetusohjelmassa opimme, kuinka voimme käyttää LIMIT-lausetta ja työskennellä sen kanssa SQL-tietokannassa määrittääksemme tietokannasta haettavien rivien määrän.
Vaatimukset:
Ennen kuin sukeltaamme LIMIT-lauseen toimintaan ja käyttöön SQL:ssä, keskustelkaamme muutamista tämän opetusohjelman perusvaatimuksista.
Jotta voit seurata tätä viestiä, tarvitset seuraavat:
- MySQL 8.0 ja uudemmat versiot toimivat MySQL 5:n kanssa
- Pääsy Sakilan näytetietokantaan
- Oikeudet tiedustella rivejä kohdetietokannasta (lukuoikeus)
Kun annetut vaatimukset täyttyvät, voimme jatkaa tätä opetusohjelmaa.
SQL-RAJA
SQL:ssä LIMIT-lause antaa meille mahdollisuuden rajoittaa tietystä SQL-kyselystä palautettavien rivien määrää. Esimerkiksi select-käskyssä sen sijaan, että palautamme kaikki taulukon rivit, jotka voivat sisältää yli 1000 tietuetta, voimme valita vain ensimmäisten 10 rivin näyttämisen.
Seuraavassa näkyy LIMIT-lauseen perussyntaksi SQL:ssä:
VALITSE sarake1, sarake2, ...
FROM tbl_name
LIMIT rivien_määrä;
Tässä esimerkissä käytämme LIMIT-lausetta yhdessä SELECT-käskyn kanssa.
Annetusta syntaksista 'tbl_name' edustaa sen taulukon nimeä, josta haluamme hakea tiedot.
'Num_rows' antaa meille mahdollisuuden määrittää tulosjoukossa palautettavien rivien enimmäismäärän.
Esimerkki 1: Rajoita rivien määrää
LIMIT-lauseen yleisin ja perusrooli on määrittää tulosjoukkoon sisältyvien rivien enimmäismäärä.
Oletetaan, että haluamme käyttää Sakilan näytetietokannan ”filmi”-taulukkoa. Koska emme kuitenkaan halua hakea kaikkia siihen liittyviä rivejä, voimme valita ensimmäiset 10 riviä seuraavan esimerkkilausekkeen mukaisesti:
VALITSE * elokuvastaRAJA 10 ;
Kun suoritamme annetun kyselyn, meidän pitäisi saada tulos seuraavasti:
Tässä esimerkissä käytämme LIMIT-lausetta rajoittamaan tulosjoukon 10 riviin. Tämä hakee tuloksesta ensimmäiset 10 riviä.
Esimerkki 2: OFFSET-arvon käyttäminen
Joissakin tapauksissa saatamme haluta ohittaa tai jättää pois tietyn määrän rivejä. Oletetaan esimerkiksi, että haluamme hakea vain viisi elementtiä, mutta haluamme aloittaa paikasta 20. Voimme käyttää OFFSET-parametria, jonka avulla voimme kertoa LIMIT-lausekkeelle, mistä kohdasta haluamme aloittaa.
Tämä on erityisen hyödyllistä, kun sinun täytyy toteuttaa sivutus suuressa tietojoukossa seuraavan esimerkin mukaisesti:
VALITSE elokuvan_tunnus, nimi, julkaisuvuosi, 'pituus' elokuvastaRAJA 10 OFFSET kaksikymmentä ;;
Tämän pitäisi palauttaa 10 riviä alkaen paikasta 20 seuraavasti:
Kuten annetusta tuloksesta näkyy, aloitus 'film_id' alkaa paikasta 21 ja jatkuu kohtaan 30.
Esimerkki 3: Order BY -lausekkeen käyttö
Toinen yleinen LIMIT-lauseen käyttö on yhdessä ORDER BY -lauseen kanssa. Tämän avulla voimme hakea tietyn määrän rivejä, jotka perustuvat tiettyyn järjestykseen. Tämä voi sisältää peruslajittelun (nouseva tai laskeva) jne.
Oletetaan esimerkiksi, että haluamme hakea 10 pisintä elokuvaa 'filmi'-taulukosta. Voimme käyttää ORDER BY -lausetta lajittelemaan arvot pituuden perusteella ja sitten rajoittamaan ensimmäiset 10 riviä.
Esimerkki on seuraava:
SELECT f.film_id, f.title, f.lengthFROM elokuvasta f
TILAUS pituuden mukaan DESC
RAJA 10 ;
Tässä tapauksessa käytämme ORDER BY -lausetta rivien järjestämiseen laskevassa järjestyksessä (korkeimmasta pienimpään) ja haemme sitten ensimmäiset 10 riviä LIMIT-lauseen avulla.
Tulossarja on seuraava:
Siinä se on!
Johtopäätös
Tässä viestissä opimme SQL-tietokantojen LIMIT-lauseen käytön perusteet ja lisäominaisuudet.