Määrittää SQL-kyselyillä valitut tietueet.
Syntaksi
SELECT [ALL | DISTINCT | DISTINCTROW | [TOP n [PERCENT]]]
FROM tauluNämä predikaatit sisältävässä SELECT-komennossa on seuraavat osat:
Osa |
Kuvaus |
ALL |
Oletus, jos et käytä jotakin predikaattia. Microsoft Access -tietokantamoduuli valitsee kaikki SQL-lausekkeen ehdot täyttävät tietueet. Seuraavat kaksi esimerkkiä vastaavat tosiaan ja palauttavat kaikki tietueet Employees-taulukosta:
|
DISTINCT |
Jättää pois tietueet, jotka sisältävät samat arvot valituissa kentissä. Tietue otetaan mukaan kyselyn tuloksiin vain, jos sillä on muihin tietueisiin verrattuna yksilölliset arvot SELECT-lausekkeessa määritetyissä kentissä. Esimerkiksi Employees-taulussa usealla työntekijällä voi olla sama sukunimi. Jos kahdessa tietueessa on Sukunimi-kentän arvona Salo, seuraava SQL-lauseke palauttaa vain yhden Salo-tietueen:
Jos jätät DISTINCT-predikaatin pois, kysely palauttaa molemmat Salo-tietueet. Jos SELECT-lauseke sisältää enemmän kuin yhden kentän, kukin kaikkien kenttien arvoyhdistelmä otetaan mukaan kyselyn tuloksiin vain kerran. DISTINCT-predikaattia käyttävää kyselyä ei voi päivittää eikä se näytä muiden käyttäjien myöhemmin tekemiä muutoksia. |
DISTINCTROW |
Jättää pois kokonaisiin tietueiden kaksoiskappaleisiin perustuvat tiedot, ei pelkästään kenttien kaksoiskappaleita. Voit esimerkiksi luoda kyselyn, joka yhdistää Asiakkaat- ja Tilaukset-taulukot Asiakastunnus-kenttään. Asiakkaat-taulukossa ei ole asiakastunnuskenttien kaksoiskappaleita, mutta Tilaukset-taulukossa on, koska kullakin asiakkaalla voi olla useita tilauksia. Seuraavassa SQL-lausekkeessa näytetään, miten voit käyttää DISTINCTROW-funktiota sellaisten yritysten luettelon tuottamiseen, joilla on vähintään yksi tilaus, mutta joilla ei ole mitään tietoja näistä tilauksista:
Jos jätät DISTINCTROW-predikaatin pois, tämä kysely näyttää useita rivejä kullekin yritykselle, joilla on enemmän kuin yksi tilaus. DISTINCTROW vaikuttaa vain, kun valitset kenttiä joistakin mutta et kaikista kyselyssä käytettävistä tauluista. DISTINCTROW ohitetaan, jos kysely sisältää vain yhden taulukon tai jos otat mukaan kenttiä kaikista tauluista. |
TOP n [PERCENT] |
Palauttaa tietyn määrän tietueita, jotka ovat ORDER BY -lausekkeen määrittämän alueen ala- tai yläpäässä. Oletetaan, että haluat arvosanoiltaan 25 parhaan oppilaan nimet vuodelta 1994:
Jos et käytä ORDER BY -lauseketta, kysely palauttaa Students-taulusta satunnaisen 25 tietueen joukon, joka täyttää WHERE-lausekkeen ehdot. TOP-predikaatti ei valitse jotakin tiettyä tietuetta, jos niiden arvot täsmäävät. Jos 25:nneksi ja 26:nneksi korkein arvosana on edellisessä esimerkissä sama, kysely palauttaa 26 tietuetta. Voit myös käyttää varattua PERCENT-sanaa, jos haluat palauttaa tietyn prosenttiosuuden tietueista, jotka ovat ORDER BY -lausekkeella määritetyn alueen ala- tai yläpäässä. Oletetaan, että haluat valita 25 parhaan arvosanan saaneiden oppilaiden sijaan oppilaat, joiden arvosana on heikoimman 10 prosentin joukossa:
ASC-predikaattia käytetään, jos halutaan palauttaa alimmat arvot. TOP-predikaattia seuraavan arvon on oltava etumerkitön kokonaisluku. TOP ei vaikuta kyselyn päivitettävyyteen. |
taulu |
Sen taulukon nimi, josta tietueet noudetaan. |