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 kriteeriumid
WHERE-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]
Kriteeriumide argumendis peavad kuupäevaliteraalid olema Inglise (USA) vormingus, isegi kui te ei kasuta Microsoft Accessi andmebaasimootori ingliskeelset (USA) versiooni. Näiteks Ühendkuningriigis kirjutatakse 10. mai 2006 kujul 10/5/96 ja Ühendriikides 5/10/96. Veenduge, et kuupäevaliteraalid oleks ümbritsetud trellidega (#), nagu järgmises näites.
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.