Nurodo, kuriems sąlygoje FROM nurodytiems lentelių laukams daro įtaką SELECT, UPDATE arba DELETE sakinys.
Sintaksė
SELECT laukų_sąrašas
FROM lentelės_reiškinys WHERE kriterijaiSakinys SELECT su sąlyga WHERE yra sudarytas iš trijų dalių:
Dalis |
Aprašas |
laukų_sąrašas |
Nuskaitomo lauko arba laukų pavadinimai su visais lauko pavadinimo pseudonimais, atrankos taisyklių sąlygos (ALL, DISTINCT, DISTINCTROW arba TOP) arba kitos sakinio SELECT parinktys. |
lentelės_reiškinys |
Lentelės arba lentelių, iš kurių gaunami duomenys, pavadinimas. |
kriterijai |
išraiška, kurią turi atitikti įrašai, kad būtų įtraukti į užklausos rezultatus. |
Pastabos
„Microsoft Access“ duomenų bazės modulis pasirenka įrašus, kurie atitinka sąlygas, nurodytas sąlygoje WHERE. Jei nenurodote sąlygos WHERE, užklausa grąžina visas lentelės eilutes. Jei užklausoje nurodote daugiau nei vieną lentelę ir neįtraukėte sąlygos WHERE arba sąlygos JOIN, užklausa sukuria lentelių Dekarto sandaugą.
WHERE sąlyga yra pasirinktina, tačiau jei naudojama, turi būti po FROM. Pavyzdžiui, galite pasirinkti visus pardavimo skyriaus darbuotojus (WHERE Dept = 'Sales') arba visus klientus, kurių amžius yra nuo 18 iki 30 metų (WHERE Age Between 18 And 30).
Jei nenaudojate sąlygos JOIN atlikdami SQL kelių lentelių sujungimo operacijas, gautas objektas Recordset nebus atnaujinamas.
Sąlyga WHERE yra panaši į sąlygą HAVING. WHERE nustato pasirinktus įrašus. Taip pat, kai įrašai sugrupuojami naudojant sąlygą GROUP BY, sąlyga HAVING nustato, kurie įrašai yra rodomi:
Naudokite sąlygą WHERE, kad atmestumėte įrašus, kurių neturėtų grupuoti sąlyga GROUP BY.
Naudokite įvairius reiškinius, kad nustatytumėte, kuriuos įrašus turi grąžinti SQL sakinys. Pavyzdžiui, šis SQL sakinys pasirenka visus darbuotojus, kurių atlyginimai yra didesni nei 21,000 $:
SELECT LastName, Salary FROM Employees WHERE Salary > 21000;
Sąlyga WHERE gali turėti iki 40 reiškinių, susietų loginiais operatoriais, pvz., And ir Or.
Įvesdami lauko pavadinimą, kuriame yra tarpas arba skyrybos ženklų, pavadinimą rašykite laužtiniuose skliaustuose ([ ]). Pavyzdžiui, informacijos apie klientus lentelėje gali būti informacijos apie konkrečius klientus:
SELECT [Customer’s Favorite Restarant]
Kai nurodote kriterijų argumentą, datos literalai turi būti JAV formatu, net jei nenaudojate Microsoft Access duomenų bazės modulio JAV versijos. Pavyzdžiui, 1996 m. gegužės 10 d. parašyta 1996-05-10 Jungtinėje Karalystėje ir 2006-05-10 Jungtinėse Amerikos Valstijose. Būtinai rašykite datos raides su skaičiaus ženklu (#), kaip parodyta toliau pateiktuose pavyzdžiuose.
Norėdami rasti įrašus, kurių data yra May 10, 1996 Jungtinės Karalystės duomenų bazėje, turite naudoti šį SQL sakinį:
SELECT * FROM Orders WHERE ShippedDate = #5/10/96#;
Taip pat galite naudoti funkciją DateValue, kuri atsižvelgia į tarptautinius parametrus, nustatytus „Microsoft Windows®“ sistemos. Pavyzdžiui, naudokite šį kodą Jungtinių Valstijų tipo datai nurodyti:
SELECT * FROM Orders WHERE ShippedDate = DateValue('5/10/96');
Ir naudokite šį kodą Jungtinės Karalystės tipo datai nurodyti:
SELECT * FROM Orders WHERE ShippedDate = DateValue('10/5/96');
Pastaba: Jei stulpelio, nurodyto kriterijų eilutėje, tipas yra GUID, kriterijų reiškinio sintaksė šiek tiek skiriasi:
WHERE ReplicaID = {GUID {12345678-90AB-CDEF-1234-567890ABCDEF}}
Būtinai įtraukite riestinius skliaustus ir brūkšnelius, kaip parodyta.