See klausel määrab selle, milliseid FROM-klausli kirjeid mõjutab SELECT-, UPDATE- või DELETE-lause.
Süntaks
SELECT väljaloend
FROM tabeliavaldis WHERE kriteeriumidWHERE-klauslit sisaldav lause SELECT koosneb järgmistest osadest.
Osa |
Kirjeldus |
väljaloend |
Koos väljanimede pseudonüümide, valikupredikaatide (ALL, DISTINCT, DISTINCTROW või TOP) või muude SELECT-lause variantidega allalaaditava välja või väljade nimi. |
tabeliavaldis |
Andmete allalaadimiseks kasutatava(te) tabeli(te) nimi. |
kriteeriumid |
avaldis, millele kirjed peavad vastama, et need päringu tulemitesse kaasataks. |
Märkused
Microsoft Accessi andmebaasimootor valib kirjed, mis vastavad WHERE-klauslis loetletud tingimustele. Kui te ei määratle WHERE-klauslit, tagastab päring tabelist kõik read. Kui määratlete päringus rohkem kui ühe rea ja te ei ole lisanud WHERE- ega JOIN-klauslit, genereerib päring tabelite otsekorrutise.
WHERE-klausel on valikuline, kuid lisamise korral järgneb see FROM-klauslile. Näiteks saate valida kõik turundusosakonna töötajad (WHERE Dept = 'Sales') või kõik kliendid vanusevahemikus 18–30 (WHERE Age Between 18 And 30).
Kui te ei kasuta SQL-toimingute teostamiseks JOIN-klauslit, pole objekt Recordset värskendatav.
WHERE-klausel on sarnane HAVING-klauslile. WHERE-klausel määrab valitavad kirjed. Sarnaselt määrab GROUP BY- ja HAVING-klausliga rühmitamine kuvatavad kirjed.
Kasutage WHERE-klauslit, et kustutada kirjed, mida te ei soovi GROUP BY-klausliga rühmitada.
Kasutage erinevaid avaldisi, et määrata, milliseid kirjeid SQL-lause tagastaks. Järgnevas näites valitakse SQL-lausega kõik töötajad, kelle palk on suurem kui 21 000 dollarit.
SELECT LastName, Salary FROM Employees WHERE Salary > 21000;
WHERE-klausel võib sisaldada kuni 40 lauset, mis on seotud loogikaoperaatoritega (nt And ja Or).
Kui sisestate tühikut või kirjavahemärki sisaldava väljanime, ümbritsege nimi nurksulgudega ([ ]). Näiteks kliendiandmete tabel võib sisaldada teavet üksiku kliendi kohta.
SELECT [Customer’s Favorite Restarant]
Kui määrate kriteeriumiargumendi , peavad kuupäevaliteraalid olema USA vormingus, isegi kui te ei kasuta Microsoft Accessi andmebaasimootori USA versiooni. Näiteks 10. mai 1996 on kirjutatud Ühendkuningriigis 10.05.96 ja Ameerika Ühendriikides 10.05.96. Ümbritsege kuupäevaliteraalid kindlasti numbrimärgiga (#), nagu on näidatud järgmistes näidetes.
Kirjete leidmiseks kuupäevaga 10. mai 2006 Ühendriikide vormingut kasutavast andmebaasist peate kasutama järgmist SQL-lauset.
SELECT * FROM Orders WHERE ShippedDate = #5/10/96#;
Saate kasutada ka funktsiooni DateValue, mis arvestab Microsoft Windows®-i kehtestatud rahvusvaheliste sätetega. Ameerika Ühendriike näiteks tähistab järgmine kood:
SELECT * FROM Orders WHERE ShippedDate = DateValue('5/10/96');
Ja Ühendkuningriiki tähistab järgmine kood:
SELECT * FROM Orders WHERE ShippedDate = DateValue('10/5/96');
Märkus.: Kui kriteeriumistringis viidatud veeru tüüp on GUID, kasutatakse kriteeriumiavaldises pisut teistsugust süntaksit.
WHERE ReplicaID = {GUID {12345678-90AB-CDEF-1234-567890ABCDEF}}
Veenduge, et lisaksite näite eeskujul pesastatud look- ja nurksulud.