Määrittää, mihin FROM-lauseessa luetelluista tietueista SELECT-, UPDATE- tai DELETE-lauseke vaikuttaa.
Syntaksi
SELECT kenttäluettelo
FROM taulukkolauseke
WHERE ehdot
WHERE-lauseen sisältävässä SELECT-lausekkeessa on seuraavat osat:
Osa |
Kuvaus |
Kenttäluettelo |
Niiden kenttien nimet, jotka noudetaan yhdessä kenttänimialiasten, valintapredikaattien (ALL, DISTINCT, DISTINCTROW tai TOP) tai muiden SELECT-lausekevaihtoehtojen kanssa. |
taulukkolauseke |
Sen taulukon nimi tai niiden taulukoiden nimet, joista tiedot noudetaan. |
ehdot |
Tämä on lauseke, jonka sisältämät ehdot tietueiden on täytettävä, jotta ne sisällytetään kyselyn tuloksiin. |
Huomautuksia
Microsoft Access -tietokantamoduuli valitsee WHERE-lauseessa luetellut ehdot täyttävät tietueet. Jos et määritä WHERE-lausetta, kysely palauttaa kaikki rivit taulukosta. Jos määrität kyselyssä useamman kuin yhden taulukon etkä ole sisällyttänyt siihen WHERE-lausetta tai JOIN-lausetta, kyselystä palautuu taulukoiden Karteesinen tulo.
WHERE-lause on valinnainen, mutta jos se sisällytetään, sen on oltava FROM-lauseen jälkeen. Voit esimerkiksi valita kaikki myyntiosaston työntekijät (WHERE Dept = 'Sales') tai kaikki 18–30-vuotiaat asiakkaat (WHERE Age Between 18 And 30).
Jos et käytä CLAUSE-lausetta SQL-liitostoimintojen suorittamiseen useissa taulukoissa, tuloksena saatavaa Tietuejoukko-objektia ei voi päivittää.
WHERE on samanlainen kuin HAVING. WHERE määrittää, mitkä tietueet valitaan. Vastaavasti, kun tietueet on ryhmitelty GROUP BY -toiminnolla, HAVING määrittää, mitkä tietueet näytetään.
Voit käyttää WHERE-lausetta niiden tietueiden poistamiseen, joita et halua ryhmitellä GROUP BY -lauseella.
Eri lausekkeiden avulla voit määrittää, mitä tietueita SQL-lauseke palauttaa. Esimerkiksi seuraava SQL-lauseke valitsee kaikki työntekijät, joiden palkka on yli 21 000 euroa:
SELECT LastName, Salary FROM Employees WHERE Salary > 21000;
WHERE-lause voi sisältää jopa 40 lauseketta, jotka on linkitetty toisiinsa loogisilla operaattoreilla, kuten And ja Or.
Jos kirjoitat kentän nimen, joka sisältää välilyönnin tai välimerkin, ympäröi nimi hakasulkeilla ([]). Esimerkiksi asiakastietojen taulukko voi sisältää tietoja tietyistä asiakkaista:
SELECT [Customer’s Favorite Restarant]
Kun määrität ehtoargumentin, päivämääräliteraalien on oltava yhdysvaltalaisessa muodossa, vaikka et käyttäisi Microsoft Access -tietokantamoduulin Yhdysvaltalaista versiota. Esimerkiksi 10. toukokuuta 1996 on kirjoitettu 5.10.1996 Yhdistyneessä kuningaskunnassa ja 10.5.1996 Yhdysvallat. Muista liittää päivämääräliteraalit numeromerkillä (#) seuraavien esimerkkien mukaisesti.
Jos haluat etsiä 10. toukokuuta 1996 päivättyjä tietueita isobritannialaisesta tietokannasta, sinun on käytettävä seuraavaa SQL-lauseketta:
SELECT * FROM Orders WHERE ShippedDate = #5/10/96#;
Voit käyttää myös Päiväysarvo-funktiota, joka huomioi Microsoft Windows® -järjestelmän kansainväliset asetukset. Käytä esimerkiksi seuraavaa koodia Yhdysvaltojen tapauksessa:
SELECT * FROM Orders WHERE ShippedDate = DateValue('5/10/96');
Käytä seuraavaa koodia Ison-Britannian tapauksessa:
SELECT * FROM Orders WHERE ShippedDate = DateValue('10/5/96');
Huomautus: Jos sarake, johon ehtomerkkijonossa viitataan, on GUID-tyyppinen, ehtolausekkeessa käytetään hieman erilaista syntaksia:
WHERE ReplicaID = {GUID {12345678-90AB-CDEF-1234-567890ABCDEF}}
Muista sisällyttää sisäkkäiset sulkeet ja yhdysmerkit esimerkin mukaisesti.