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 WHERE-lauseen kirjoittamiseen sekä esimerkkejä eri tekniikoista WHERE-lauseiden käyttämiseen.

SQL-lausekkeessa WHERE-lause määrittää ehdot, jotka kenttien arvojen on täytettävä arvot sisältävissä tietueissa, jotta ne sisällytetään kyselyn tuloksiin.

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

Artikkelin sisältö

Tulosten rajaaminen ehdoilla

Kun haluat rajoittaa kyselyssä palautettavien tietueiden määrää, voit käyttää ehto-ominaisuutta. Kyselyn ehto muistuttaa kaavaa: se on merkkijono, joka voi sisältää kenttäviittauksia, operaattoreita ja vakioita. Kyselyehdot ovat lauseketyyppi.

Seuraavassa taulukossa luetellaan joitakin esimerkkejä ehdoista ja kerrotaan, kuinka ne toimivat.

Ehto

Kuvaus

>25 and <50

Tämä ehto koskee lukukenttää, kuten Hinta- tai YksiköitäVarastossa-kenttää. Kyselyn tulokseen sisällytetään vain ne tietueet, joiden Hinta- tai YksiköitäVarastossa-kenttä sisältää arvon, joka on suurempi kuin 25 ja pienempi kuin 50.

DateDiff ("yyyy", [Syntymäpv], Date()) > 30

Tämä ehto koskee päivämäärä- ja aikakenttää, kuten Syntymäpv. Vain tietueet, joissa vuosien määrä henkilönsyntymäpäivän ja kuluvan päivän välillä on suurempi kuin 30, sisällytetään hakutulokseen.

Is Null

Tätä ehtoa voidaan käyttää kaikissa kenttätyypeissä, ja sen avulla voidaan näyttää tietueet, joissa kentän arvo on Null.

Kuten edellisestä taulukosta näkyy, ehdot voivat olla hyvin erinäköisiä sen mukaan, mikä kentän tietotyyppi on ja mitä tarpeita sinulla on. Jotkin ehdot ovat yksinkertaisia, ja niissä käytetään perusoperaattoreita ja vakioita. Jotkin ehdot ovat monimutkaisia, ja niissä käytetään funktioita, erikoisoperaattoreita ja kenttäviittauksia.

Tärkeää: Jos kenttää käytetään koostefunktion kanssa, kentälle ei voi määrittää ehtoja WHERE-lauseella. Sen sijaan koostettujen kenttien ehdot määritetään HAVING-lauseella. Lisätietoja on artikkeleissa Access SQL: peruskäsitteet, sanasto ja syntaksi ja HAVING-lause.

WHERE-lauseen syntaksi

Kyselyehtoja käytetään SELECT-lausekkeen WHERE-lauseessa.

WHERE-lauseella on seuraava perussyntaksi:

WHERE field = criterion

Oletetaan, että haluat asiakkaan puhelinnumeron, mutta muistat vain asiakkaan sukunimen, joka on Bagel. Sen sijaan, että tutkisit tietokannan kaikki puhelinnumerot, voit rajata tuloksia WHERE-lauseella ja helpottaa halutun puhelinnumeron löytämistä. Oletetaan, että sukunimet tallennetaan kenttään nimeltä Sukunimi, joten WHERE-lause on seuraavanlainen:

WHERE [LastName]='Bagel'

Huomautus: WHERE-lauseen ehtojen ei tarvitse pohjautua arvojen vastaavuuteen. Voit käyttää muita vertailuoperaattoreita, kuten suurempi kuin (>) tai pienempi kuin (<). Esimerkiksi WHERE [Hinta]>100.

WHERE-lauseen käyttäminen tietolähteiden yhdistämiseen

Joskus haluat ehkä yhdistää tietolähteitä niiden kenttien perusteella, joiden tiedot vastaavat toisiaan, mutta joiden tietotyyppi on eri. Toisessa taulukossa voi esimerkiksi olla kenttä, jonka tietotyyppi on Luku, ja haluat verrata kyseistä kenttää toisessa taulukossa olevaan kenttään, jonka tietotyyppi on Teksti.

Et voi liitosta eri tietotyyppiä olevien kenttien välille. Jos haluat yhdistää tiedot kahdesta tietolähteestä niiden kenttäarvojen perusteella, joilla on eri tietotyypit, luo WHERE-lause, jossa yhtä kenttää käytetään toisen kentän ehtona LIKE-avainsanalla.

Oletetaan esimerkiksi, että haluat käyttää tietoja taulukosta 1 ja taulukosta 2, mutta vain silloin, kun kentän 1 tiedot (taulukon 1 tekstikenttä) vastaavat kentän 2 tietoja (taulukon 2 lukukenttä). WHERE-lause näyttää tällöin seuraavankaltaiselta:

WHERE field1 LIKE field2

Lisätietoja WHERE-lauseessa käytettävien ehtojen luomisesta on artikkelissa Esimerkkejä kyselyjen ehdoista.

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.