Meghatározza, hogy a FROM záradékban felsorolt táblák mely rekordjait érinti egy SELECT, UPDATE vagy DELETE utasítás.
Szintaxis
SELECT mezőlista
FROM táblakifejezés WHERE feltételEgy WHERE záradékot tartalmazó SELECT utasítás az alábbi részekből áll:
Rész |
Leírás |
mezőlista |
A visszaadandó mező vagy mezők neve az esetleges aliasokkal, kiválasztási predikátumokkal (ALL, DISTINCT, DISTINCTROW vagy TOP), valamint a SELECT utasítás egyéb paramétereivel együtt. |
táblakifejezés |
Azon tábla vagy táblák neve, amelyekből az adatokat lekérdezi. |
feltétel |
Egy kifejezés, amelyet a rekordoknak teljesíteniük kell ahhoz, hogy szerepeljenek a lekérdezés eredményében. |
Megjegyzések
A Microsoft Access adatbázismotor azokat a rekordokat választja ki, amelyek megfelelnek a WHERE záradék feltételeinek. Ha nem használja a WHERE záradékot, a lekérdezés a tábla minden sorát visszaadja. Ha a lekérdezésben több táblát is megad, és nem használja a WHERE vagy a JOIN záradékot, akkor a lekérdezés eredményeként a táblák Descartes-szorzat értéke jön létre.
A WHERE záradék használata nem kötelező, de ha használja, akkor a FROM záradékot követi. Kijelölheti például az értékesítési részleg minden alkalmazottját (WHERE Dept = 'Sales') vagy az összes 18 és 30 év közötti vásárlót (WHERE Age Between 18 And 30).
Ha több tábla esetén az SQL illesztési műveletekhez nem használja a JOIN záradékot, akkor az eredményként kapott Recordset objektum nem lesz frissíthető.
A WHERE záradék hasonlít a HAVING záradékhoz. A WHERE határozza meg, hogy mely rekordokat választjuk ki. Hasonlóképpen, miután a rekordok csoportosítása megtörtént a GROUP BY záradékkal, a HAVING záradék határozza meg a megjelenítendő rekordokat.
A WHERE záradék segítségével zárhatja ki azokat a rekordokat, amelyeket nem szeretne a GROUP BY záradékkal csoportosítani.
Különféle kifejezésekkel határozhatja meg, hogy az SQL-utasítás mely rekordokat adja vissza. Az alábbi SQL-utasítás például kiválaszt minden olyan alkalmazottat, akinek a fizetése 21 000 USD felett van:
SELECT LastName, Salary FROM Employees WHERE Salary > 21000;
Egy WHERE záradék legfeljebb 40 kifejezésből állhat, amelyeket logikai operátorok (például And vagy Or) fűznek össze.
Ha szóközt vagy írásjeleket tartalmazó mezőnevet ír be, tegye a nevet szögletes zárójelbe ([]). A vevők adatait tartalmazó tábla például adott vevőkről tartalmazhat adatokat:
SELECT [Customer’s Favorite Restarant]
A feltétel argumentum megadásakor a dátumkonstansoknak amerikai formátumúnak kell lenniük, még akkor is, ha nem a Microsoft Access adatbázismotor amerikai verzióját használja. Például 1996. május 10-én íródott az Egyesült Királyságban 10/5/96, az Egyesült Államokban pedig 5/10/96. Ügyeljen arra, hogy a dátumkonstansokat a számjelhez (#) mellékelje az alábbi példákban látható módon.
Az 1996. május 10-i dátumú rekordok kereséséhez egy egyesült királyságbeli adatbázisban az alábbi SQL-utasítás használható:
SELECT * FROM Orders WHERE ShippedDate = #5/10/96#;
Használhatja a DátumÉrték függvényt is, amely felismeri a Microsoft Windows® által létrehozott nemzetközi beállításokat. Használhatja például ezt a kódot az Amerikai Egyesült Államok esetén:
SELECT * FROM Orders WHERE ShippedDate = DateValue('5/10/96');
És ezt a kódot az Egyesült Királyság esetén:
SELECT * FROM Orders WHERE ShippedDate = DateValue('10/5/96');
Megjegyzés: Ha a feltétel-karakterláncban hivatkozott oszlop GUID típusú, a feltételkifejezés kissé eltérő szintaxist használ:
WHERE ReplicaID = {GUID {12345678-90AB-CDEF-1234-567890ABCDEF}}
Ne feledje el felvenni a beágyazott kapcsos zárójeleket és kötőjeleket, a bemutatott módon.