Angiver, hvilke poster fra tabellerne på listen i FROM-delsætningen, der påvirkes af en SELECT-, UPDATE- eller DELETE-sætning.
Syntaks
SELECT feltliste
FROM tableexpression
WHERE criteria
En SELECT-sætning, der indeholder en WHERE-delsætning, består af følgende dele:
Del |
Beskrivelse |
feltliste |
Navnet på det eller de felter, der skal hentes sammen med vilkårlige feltnavnealiasser, udvælgelsesprædikater (ALL, DISTINCT, DISTINCTROW eller TOP) eller andre SELECT-sætningsindstillinger. |
tableexpression |
Navnet på den/de tabel eller tabeller, som dataene hentes fra. |
criteria |
Et udtryk, som poster skal opfylde for at blive medtaget i forespørgselsresultaterne. |
Bemærkninger
Microsoft Access-databaseprogrammet vælger de poster, der opfylder betingelserne på listen i WHERE-delsætningen. Hvis du ikke angiver en WHERE-delsætning, returnerer forespørgslen alle rækker i tabellen. Hvis du angiver mere end én tabel i forespørgslen, og du ikke har inkluderet en WHERE-delsætning eller en JOIN-delsætning, så opretter forespørgslen et Cartesian-produkt af tabellerne.
WHERE er valgfrit, men følger fra, når det er inkluderet. Du kan f.eks. vælge alle medarbejdere i salgsafdelingen (WHERE Dept = 'Sales') eller alle kunder mellem 18 og 30 (WHERE Age Between 18 And 30).
Hvis du ikke bruger en JOIN-delsætning til at udføre SQL-join-handlinger i flere tabeller, så kan det endelige Postsæt-objekt ikke opdateres.
WHERE fungerer som HAVING. WHERE bestemmer, hvilke poster der vælges. Tilsvarende, når poster grupperes ved hjælp af GROUP BY, så bestemmer HAVING, hvilke poster der skal vises.
Brug WHERE-delsætningen til at fjerne poster, du ikke vil gruppere efter en GROUP BY-delsætning.
Brug forskellige udtryk til at bestemme, hvilke poster SQL-sætningen returnerer. Følgende SQL-sætning vælger f.eks. alle medarbejdere, hvis lønninger er mere end $ 21.000:
SELECT LastName, Salary FROM Employees WHERE Salary > 21000;
En WHERE-delsætning kan indeholde op til 40 udtryk, der er kædet sammen ved hjælp af logiske operatorer, f.eks. And og Or.
Når du angiver et feltnavn, der indeholder et mellemrum eller tegnsætningstegn, skal du omgive navnet med kantede parenteser ([ ]). En tabel med kundeoplysninger kan f.eks. indeholde oplysninger om bestemte kunder :
SELECT [Customer’s Favorite Restarant]
Når du angiver argumentet kriterier , skal datokonstanter være i amerikansk format, også selvom du ikke bruger den amerikanske version af Microsoft Access-databaseprogrammet. Den 10. maj 1996 skrives f.eks. 5-10-96 i Storbritannien og 10-05-96 i USA. Sørg for at omslutte datokonstanter med taltegnet (#) som vist i følgende eksempler.
For at finde poster dateret d. 10. maj 1996 i en database i Storbritannien skal du bruge følgende SQL-sætning:
SELECT * FROM Orders WHERE ShippedDate = #5/10/96#;
Du kan også bruge funktionen Datoværdi, som registrerer de internationale indstillinger, der er fastlagt af Microsoft Windows®. Eksempelvis skal nedenstående kode bruges for USA:
SELECT * FROM Orders WHERE ShippedDate = DateValue('5/10/96');
Og nedenstående kode skal bruges for Storbritannien:
SELECT * FROM Orders WHERE ShippedDate = DateValue('10/5/96');
Bemærk!: Hvis kolonnen, der henvises til i criteria-strengen, er af typen Guid, så bruger criteria-udtrykket en lidt anderledes syntaks:
WHERE ReplicaID = {GUID {12345678-90AB-CDEF-1234-567890ABCDEF}}
Sørg for at medtage de indlejrede klammeparenteser og bindestreger, som vist.