WHERE-Klausel

Gilt für
Access für Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

Gibt an, welche Datensätze aus den in der FROM-Klausel aufgeführten Tabellen von einer SELECT-, UPDATE- oder DELETE-Anweisung betroffen sind.

Syntax

SELECT fieldlist
FROM tableexpression
WHERE-Kriterien

Eine SELECT-Anweisung mit einer WHERE-Klausel besteht aus den folgenden Teilen:

Teil Beschreibung
Feldliste Die Namen der Felder, die abgerufen werden sollen, sowie Feldnamenaliase, Auswahlprädikate (ALL, DISTINCT, DISTINCTROW oder TOP) oder sonstige SELECT-Anweisungsoptionen.
Tabellenausdruck Der Name der Tabelle oder Tabellen, aus der/denen Daten abgerufen werden.
Kriterien Ein Ausdruck, den Datensätze erfüllen müssen, um in die Abfrageergebnisse aufgenommen zu werden.

      

Hinweise

Das Microsoft Access-Datenbankmodul wählt die Datensätze aus, die den in der WHERE-Klausel aufgeführten Kriterien entsprechen. Wenn Sie keine WHERE-Klausel angeben, gibt die Abfrage alle Zeilen aus der Tabelle zurück. Wenn Sie in der Abfrage mehr als eine Tabelle angeben und keine WHERE-Klausel oder JOIN-Klausel enthalten haben, generiert die Abfrage ein kartesisches Produkt der Tabellen.

Die WHERE-Klausel ist optional, folgt aber bei Angabe der FROM-Klausel. Sie können z.B. alle Mitarbeiter in der Verkaufsabteilung (WHERE Dept = 'Sales') oder alle Kunden im Alter zwischen 18 und 30 Jahren (WHERE Age Between 18 And 30) auswählen.

Wenn Sie keine JOIN-Klausel zum Ausführen von SQL JOIN-Operationen für mehrere Tabellen verwenden, wird das resultierende Recordset-Objekt nicht aktualisiert.

Die WHERE-Klausel ist mit der HAVING-Klausel vergleichbar. WHERE bestimmt, welche Datensätze ausgewählt werden. Nachdem Datensätze mit GROUP BY gruppiert wurden, bestimmt HAVING entsprechend, welche Datensätze angezeigt werden.

Verwenden Sie die WHERE-Klausel, um Datensätze zu entfernen, die nicht nach einer GROUP BY-Klausel gruppiert werden sollen.

Verwenden Sie verschiedene Ausdrücke, um zu bestimmen, welche Datensätze die SQL-Anweisung zurückgibt. Die folgende SQL-Anweisung wählt z. B. alle Mitarbeiter aus, deren Gehälter über 21.000 € liegen:

SELECT LastName, Salary FROM Employees WHERE Salary > 21000;

Eine WHERE-Klausel kann bis zu 40 Ausdrücke enthalten, die durch logische Operatoren, wie z. B. AND und OR, miteinander verknüpft sind.

Wenn Sie einen Feldnamen eingeben, der ein Leerzeichen oder Satzzeichen enthält, schließen Sie den Namen in Klammern ([ ]) ein. Eine Tabelle mit Kundeninformationen kann beispielsweise Informationen zu bestimmten Kunden enthalten:

SELECT [Customer’s Favorite Restarant]

Wenn Sie das Argument Kriterien angeben, müssen Datumsliterale im US-Format vorliegen, auch wenn Sie nicht die US-Version des Microsoft Access-Datenbankmoduls verwenden. Der 10. Mai 1996 beispielsweise wird im Vereinigten Königreich am 5.10.96 und in den USA am 10.05.96 geschrieben. Achten Sie darauf, Ihre Datumsliterale mit dem Nummernzeichen (#) einzuschließen, wie in den folgenden Beispielen gezeigt.

Um in einer Datenbank für Großbritannien nach Datensätzen mit dem Datum 10. Mai 1996 zu suchen, müssen Sie die folgende SQL-Anweisung verwenden:

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

Sie können auch die Funktion DATWERT verwenden, die die internationalen Einstellungen von Microsoft Windows® erkennt. Verwenden Sie z. B. den folgenden Code für die USA:

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

Und verwenden Sie den folgenden Code für Großbritannien:

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

Hinweis

Wenn die Spalte, auf die in der Kriterienzeichenfolge verwiesen wird, vom Typ "GUID" ist, verwendet der Kriterienausdruck eine etwas andere Syntax:

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

Schließen Sie die geschachtelten geschweiften Klammern und Trennstriche wie dargestellt ein.