Applies ToAccess for Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Tämä artikkeli kuuluu Access SQL:ää käsittelevään artikkelisarjaan. Tässä artikkelissa annetaan ohjeet SELECT-lauseen kirjoittamiseen sekä esimerkkejä eri tekniikoista SELECT-lauseiden kirjoittamiseen.

Jos haluat lukea yleiskatsauksen Access SQL:stä, lue ohjeartikkeli Access SQL: peruskäsitteet, sanasto ja syntaksi.

Artikkelin sisältö

Valitse kentät: SELECT-lause

SELECT-komento alkaa yleensä SELECT-lauseella. SELECT-lauseella voit määrittää niiden kenttien nimet, jotka sisältävät tiedot, joita haluat käyttää kyselyssä. Voit käyttää lausekkeita myös kenttien asemesta tai niiden ohessa. Voit käyttää kenttänä myös toista SELECT-komentoa (tätä kutsutaan alikyselyksi).

Oletetaan, että haluat tietää asiakkaiden puhelinnumerot. Olettaen, että asiakkaan puhelinnumeroita tallentavan kentän nimi on txtCustPhone, SELECT-lauseke näkyy seuraavasti:

SELECT [txtCustomerPhone]

Voit sulkea nimen hakasulkeisiin. Jos nimi ei sisällä välilyöntejä tai erikoismerkkejä (esimerkiksi välimerkkejä), hakasulkeet eivät ole pakollisia. Jos nimi sisältää välilyöntejä tai erikoismerkkejä, hakasulkeita on pakko käyttää.

Vihje: Välilyöntejä sisältävä nimi on helpompi lukea ja se voi säästää aikaa lomakkeita ja raportteja suunniteltaessa, mutta se voi saada sinut kirjoittamaan enemmän, kun kirjoitat SQL-lausekkeita. Ota tämä huomioon, kun nimeät Objekteja Access-tietokannassa.

Jos SQL-lauseessasi on samannimisiä kenttiä, sinun täytyy lisätä kunkin kentän tietolähteen nimi kentän nimeen SELECT-lausesssa. Käytä tietolähteelle samaa nimeä, jota käytät FROM-lauseessa.

Kaikkien kenttien valitseminen

Kun haluat sisällyttää kaikki kentät tietolähteestä, voit joko luetella kaikki kentät yksitellen SELECT-lauseessa tai voit käyttää yleismerkkiä (se on tähti eli *). Kun käytät tähteä, Access määrittää kyselyn suorittamisen yhteydessä, mitä kenttiä tietolähde sisältää, ja sisällyttää sitten ne kaikki kyselyyn. Tämän ansiosta kysely pysyy ajan tasalla, vaikka tietolähteeseen lisätään uusia kenttiä.

Voit käyttää tähteä useiden tietolähteiden kanssa SQL-lauseissa. Jos käytät tähteä ja tietolähteitä on useita, sinun täytyy sisällyttää tietolähteen nimi yhdessä tähden kanssa, jotta Access osaa päätellä, mistä tietolähteestä sisällytetään kaikki kentät.

Oletetaan esimerkiksi, että haluat valita kaikki tilaukset-taulukon kentät, mutta vain Yhteystiedot-taulukon sähköpostiosoitteen. SELECT-lauseke saattaa näyttää tältä:

SELECT Orders.*, Contacts.[E-mail Address]

Huomautus: Muista, missä käytät tähteä. Jos tietolähteeseen lisätään myöhemmin uusia kenttiä, joihin et ollut varautunut, kyselysi tulokset voivat olla yllättäviä.

Yksilöllisten arvojen valitseminen

Jos tiedät, että lausekkeessa valitaan tarpeettomia tietoja ja haluat mieluummin nähdä vain erilliset arvot, voit käyttää SELECT-lauseen DISTINCT-avainsanaa. Oletetaan esimerkiksi, että asiakkailla on useita eri kiinnostuksen kohteita, joista osa käyttää samaa puhelinnumeroa. Jos haluat varmistaa, että näet kunkin puhelinnumeron vain kerran, SELECT-lause näkyy seuraavasti:

SELECT DISTINCT [txtCustomerPhone]

Vaihtoehtoisten nimien käyttö kentille ja lausekkeille: AS-avainsana

Voit muuttaa minkä tahansa kentän selitettä taulukkonäkymässä käyttämällä AS-avainsanaa ja SELECT-lauseen kenttätunnusta. Kentän alias on nimi, jonka määrität kyselyn kentälle tulosten lukemisen helpottamiseksi. Jos esimerkiksi haluat valita tietoja txtCustPhone-nimisestä kentästä ja kenttä sisältää asiakkaiden puhelinnumeroita, voit parantaa tulosten luettavuutta select-lausekkeen kenttätunnuksella seuraavasti:

SELECT [txtCustPhone] AS [Customer Phone]

Huomautus: Sinun täytyy käyttää kenttätunnusta, kun käytät lauseketta SELECT-lauseessa.

Valitseminen lausekkeen avulla

Joskus haluat ehkä tarkastella laskelmia tietojesi perusteella tai hakea vain osan kentän tiedoista. Oletetaan, että haluat nähdä asiakkaiden syntymävuodet tietokantasi BirthDate-kentän tietojen perusteella. SELECT-lauseesi näyttäisi tältä:

SELECT DatePart("yyyy",[BirthDate]) AS [Birth Year]

Tämä lauseke koostuu DatePart-funktiosta ja kahdesta argumentista, jotka ovat "yyyy" (vakio) ja [BirthDate] (tunniste).

Voit käyttää kenttänä mitä tahansa kelvollista lauseketta, jos se tuottaa yksittäisen tulosarvon, kun lausekkeeseen annetaan yksi käsiteltävä arvo.

Sivun alkuun

Tarvitsetko lisäohjeita?

Haluatko lisää vaihtoehtoja?

Tutustu tilausetuihin, selaa harjoituskursseja, opi suojaamaan laitteesi ja paljon muuta.

Osallistumalla yhteisöihin voit kysyä kysymyksiä ja vastata niihin, antaa palautetta sekä kuulla lisää asiantuntijoilta, joilla on runsaasti tietoa.