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 Feldliste
FROM Tabellenausdruck
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 einbezogen 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 verwenden, generiert die Abfrage ein Kartesisches Produkt der Tabellen.
Die WHERE-Klausel ist optional, folgt aber bei Angabe der FROM-Klausel. Sie können beispielsweise alle Mitarbeiter in der Vertriebsabteilung (WHERE Dept = 'Sales') oder alle Kunden 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 criteria angeben, müssen Datumsliterale im US-Format vorliegen, auch wenn Sie nicht die US-Version der Microsoft Access-Datenbank-Engine verwenden. Der 10. Mai 1996 wird beispielsweise am 10.5.96 im Vereinigten Königreich und am 10.05.96 im USA geschrieben. Stellen Sie sicher, dass Sie Ihre Datumsliterale mit dem Nummernzeichen (#) einschließ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 in der Kriterienzeichenfolge referenzierte Spalte vom Typ GUID (Globally Unique Identifier) 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.