WHERE, component

Hiermee wordt aangegeven welke records uit de tabellen in de FROM-component worden gewijzigd met een SELECT-, UPDATE- of DELETE-instructie.

Syntaxis

SELECT fieldlist
FROM tableexpression
WHERE criteria

Een SELECT-instructie met een WHERE-component bevat de volgende onderdelen:

Onderdeel

Beschrijving

Veldlijst

De naam van het veld of de velden die moeten worden opgehaald samen met eventuele veldnaamalias, selectiepredicaten (ALL, DISTINCT, DISTINCTROW of TOP ) of andere SELECT-instructieopties.

tableexpression

De naam van de tabel of tabellen waaruit gegevens worden opgehaald.

criteria

Een expressie waaraan records moeten voldoen om in de queryresultaten te worden opgenomen.


Opmerkingen

De Microsoft Access-database-engine selecteert de records die voldoen aan de voorwaarden in de WHERE-component. Als u geen WHERE-component opgeeft, worden alle rijen uit de tabel geretourneerd. Als u meer dan één tabel in de query opgeeft en u geen WHERE- of JOIN-component hebt opgenomen, wordt er een Cartesisch product van de tabellen gegenereerd.

WHERE is optioneel, maar volgt FROM indien opgenomen. U kunt bijvoorbeeld alle werknemers van de verkoopafdeling (WHERE Dept = 'Sales') of alle klanten tussen de 18 en 30 jaar (WHERE Age Between 18 And 30 selecteren.

Als u geen JOIN-component gebruikt om SQL-joinbewerkingen op meerdere tabellen uit te voeren, kan het resulterende Recordset-object niet worden bijgewerkt.

WHERE is vergelijkbaar met HAVING. WHERE bepaalt welke records worden geselecteerd. Evenzo geldt dat zodra records zijn gegroepeerd met GROUP BY, HAVING bepaalt welke records worden weergegeven.

Gebruik de WHERE-component om records te elimineren die u niet met een GROUP BY-component wilt groeperen.

Gebruik diverse expressies om te bepalen welke records door de SQL-instructie worden geretourneerd. Bijvoorbeeld: de volgende SQL-instructie selecteert alle werknemers wier salarissen meer zijn dan 21.000 euro:

SELECT LastName, Salary FROM Employees WHERE Salary > 21000;

Een WHERE-component kan maximaal 40 expressies bevatten die aan elkaar zijn gekoppeld door logische operatoren, zoals And en Or.

Als u een veldnaam invoert die een spatie of leesteken bevat, dient u de naam tussen vierkante haken ({}) te zetten. Zo kan een tabel met klantgegevens bijvoorbeeld informatie bevatten over bepaalde klanten:

SELECT [Customer’s Favorite Restarant]

Als u het argument criteria opgeeft, moeten letterlijke datumwaarden in de V.S.-notatie staan, ook als u de Amerikaanse versie van de Microsoft Access-database-engine niet gebruikt. Zo wordt 10 mei 1996 in Nederland geschreven als 10/5/96 en in de V.S. als 5/10/96. Sluit bij de datumwaarden het teken (#) toe, zoals weergegeven in de volgende voorbeelden.

Als u records zoekt met de datum 10 mei 1996 in een Nederlandse database, moet u de volgende SQL-instructie gebruiken:

SELECT * FROM Orders WHERE ShippedDate = #5/10/96#;

U kunt ook de functie DateValue gebruiken. Deze houdt rekening met de internationale instellingen die door Microsoft Windows® worden voorgeschreven. Gebruik bijvoorbeeld deze code voor de Verenigde Staten:

SELECT * FROM Orders WHERE ShippedDate = DateValue('5/10/96');

Gebruik deze code voor Nederland:

SELECT * FROM Orders WHERE ShippedDate = DateValue('10/5/96');

Opmerking: Als de kolom waarnaar in de tekenreeks met criteria wordt verwezen, van het type GUID is, wordt in de expressie met de criteria een iets andere syntaxis gebruikt:

WHERE ReplicaID = {GUID {12345678-90AB-CDEF-1234-567890ABCDEF}}

Vergeet niet de geneste accolades en afbreekstreepjes te gebruiken.



Uw Office-vaardigheden uitbreiden
Training verkennen
Als eerste nieuwe functies krijgen
Deelnemen aan Office Insiders

Was deze informatie nuttig?

Bedankt voor uw feedback.

Hartelijk dank voor uw feedback! Het lijkt ons een goed idee om u in contact te brengen met een van onze Office-ondersteuningsagents.

×