Anfang des Inhaltsbereichs

WHERE-Klausel (where_clause) Dokument im Navigationsbaum lokalisieren

Die WHERE-Klausel (where_clause) gibt die Bedingungen für das Bilden einer Ergebnistabelle (siehe Ergebnistabellenname) an.

Syntax

<where_clause> ::= WHERE <search_condition>

search_condition

Erläuterung

Die Suchbedingung (search_condition) wird auf jede Zeile der durch die FROM-Klausel gebildeten Zwischenergebnistabelle angewendet. Das Ergebnis der WHERE-Klausel ist eine Tabelle, die nur noch diejenigen Zeilen der Ergebnistabelle enthält, für die die Suchbedingung wahr ist.

Die Suchbedingung darf nur Spaltenspezifikationen enthalten, auf die der Benutzer das SELECT-Privileg hat.

Jede direkt in der Suchbedingung enthaltene Spaltenspezifikation muß eindeutig eine Spalte aus den in der FROM-Klausel des Tabellenausdrucks angegebenen Tabellen bezeichnen. Gegebenenfalls ist der Spaltenname durch den Tabellenbezeichner zu qualifizieren. Wenn in der FROM-Klausel für Tabellennamen Referenznamen (reference_name) definiert wurden, sind die Referenznamen als Tabellenbezeichner in der Suchbedingung zu verwenden.

Ein in der Suchbedingung enthaltener Ausdruck (expression) darf bis auf folgende Ausnahme keine Set-Funktion (set_function_spec) enthalten:

Beispiel

SELECT ... FROM uppertab,…
HAVING ... (SELECT ...
                  WHERE MIN(uppertab, ...)...
           )

Die SELECT-Anweisung in der angegebenen Form ist erlaubt.

In der in einer HAVING-Klausel verwendeten Subquery ist es möglich, WHERE-Klauseln zu verwenden, die Set-Funktionen für die Spalten der in der SELECT … HAVING-Anweisung angegebenen Tabelle enthalten (Correlated Subquery).

Im Fall einer Correlated Subquery kann eine Spaltenspezifikation eine Spalte einer Tabelle bezeichnen, die in einer FROM-Klausel eines anderen Tabellenausdrucks der QUERY-Spezifikation angegeben wurde.

Jede Subquery in der Suchbedingung wird in der Regel nur einmal ausgewertet. Im Fall einer Correlated Subquery wird die Subquery für jede Zeile der durch die FROM-Klausel gebildeten Ergebnistabelle ausgeführt.

Ende des Inhaltsbereichs