WHERE-Klausel

Gibt an, für welche Datensätze in den in der FROM-Klausel aufgeführten Tabellen eine SELECT-, UPDATE- oder DELETE-Anweisung ausgeführt wird.

Syntax

SELECT Feldliste
FROM Tabellenausdruck
WHERE Kriterium

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

Teil

Beschreibung

Feldliste

Die Namen der Felder, die abgerufen werden sollen, sowie FeldnamenAlias (SQL), Auswahlprädikate (ALL, DISTINCT, DISTINCTROW oder TOP) oder sonstige SELECT-Anweisungsoptionen.

Tabellenausdruck

Der Name der Tabelle oder der Tabellen, aus der bzw. denen Daten abgerufen werden.

Kriterium

Ein Ausdruck, den Datensätze erfüllen müssen, um in die Abfrageergebnisse eingeschlossen zu werden.


Hinweise

Das Microsoft Access-Datenbankmodul wählt die Datensätze aus, die die Bedingungen in der WHERE-Klausel erfüllen. Wenn Sie keine WHERE-Klausel angeben, gibt die Abfrage alle Zeilen aus der Tabelle zurück. Wenn Sie mehrere Tabellen in der Abfrage angeben und keine WHERE- oder JOIN-Klausel verwenden, generiert die Abfrage ein Kartesisches Produkt der Tabellen.

WHERE ist optional. Falls diese Klausel eingeschlossen wird, muss sie jedoch auf FROM folgen. Beispielsweise können Sie alle Mitarbeiter in der Vertriebsabteilung (WHERE Dept = 'Sales'WHERE Abt = 'Vertrieb'WHERE Age Between 18 And 30) oder alle Kunden im Alter von 18 bis 30 Jahren auswählen (WHERE Alter Between 18 And 30).

Wenn Sie keine JOIN-Klausel zum Ausführen von SQL-Verknüpfungsvorgänge in mehreren Tabellen verwenden, kann das Recordset-Objekt nicht aktualisiert werden.

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

Mit der WHERE-Klausel beseitigen Sie Datensätze, die nicht mit einer GROUP BY-Klausel gruppiert werden sollen.

Verwenden Sie verschiedene Ausdrücke, um festzulegen, welche Datensätze die SQL-Anweisung zurückgibt. Beispielsweise wählt die folgende SQL-Anweisung alle Mitarbeiter aus, deren Gehälter höher als 21.000 € sind:

SELECT Nachname, Gehalt FROM Personal WHERE Gehalt > 21000;

Eine WHERE-Klausel kann bis zu 40 Ausdrücke enthalten, die mit logischen Operatoren, wie z. B. And und Or, miteinander verknüpft sind.

Wenn Sie einen Feldnamen eingeben, der ein Leerzeichen oder ein Satzzeichen enthält, setzen Sie den Namen in eckige Klammern ([ ]). Beispielsweise könnte eine Tabelle mit Kundendetails Informationen zu bestimmten Kunden enthalten:

SELECT [Lieblingsrestaurant des Kunden]

Für das Argument Kriterium müssen Sie Datumsliteral im US-Format angeben, selbst wenn Sie nicht die US-Version des Microsoft Access-Datenbankmoduls verwenden. Beispielsweise muss der 10. Mai 1996 im US-Format 5/10/96 eingegeben werden. Schließen Sie die Datumsliterale unbedingt in Nummerzeichen (#) ein, wie in den folgenden Beispielen dargestellt.

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

SELECT * FROM Bestellungen WHERE Versanddatum = #5/10/96#;

Sie können auch die DateValue-Funktion verwenden, die die internationalen Einstellungen von Microsoft Windows® berücksichtigt. Geben Sie z. B. Folgendes für Deutschland ein:

SELECT * FROM Bestellungen WHERE Versanddatum = DateValue('5/10/96');

Und verwenden Sie den folgenden Code für die USA:

SELECT * FROM Bestellungen WHERE Versanddatum = DateValue('10/5/96');

Hinweis : Wenn die in der Kriteriumszeichenfolge angegebene Spalte den Datentyp GUID (Globally Unique Identifier) aufweist, wird eine geringfügig andere Syntax verwendet:

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

Verwenden Sie unbedingt die geschachtelten geschweiften Klammern und die Bindestriche.



Teilen Facebook Facebook Twitter Twitter E-Mail E-Mail

War diese Information hilfreich?

Sehr gut. Noch anderes Feedback?

Was können wir verbessern?

Vielen Dank für Ihr Feedback!

×