Access SQL: WHERE-lause

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

WHERE-lauseen syntaksi

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

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

Kehitä taitojasi
Tutustu koulutusmateriaaliin
Saat uudet ominaisuudet ensimmäisten joukossa
Liity Office Insider -käyttäjiin

Oliko näistä tiedoista hyötyä?

Kiitos palautteesta!

Kiitos palautteestasi! Näyttää siltä, että Office-tukiedustajamme avusta voi olla sinulle hyötyä.

×