Die WHERE
-Klausel
Die WHERE
-Klausel dient dazu, die zurückgegebenen Zeilen auf diejenigen zu beschränken, die den Aufrufer interessieren.Die Bedingung, die dem Schlüsselwort WHERE
folgt, kann eine einfache Prüfung wie “AMOUNT = 3
” sein oder ein vielschichtiger, verschachtelter Ausdruck mit Unterauswahlen, Prädikaten, Funktionsaufrufen, mathematischen und logischen Operatoren, Kontexvariablen und mehr.
Die Bedingung in der WHERE
-Klausel wird oft als Suchbedingung, als Suchausdruck oder einfach als Suche bezeichnet.
In DSQL und ESQL kann der Suchausdruck Parameter enthalten.Dies ist sinnvoll, wenn eine Abfrage mit unterschiedlichen Eingabewerten mehrmals wiederholt werden muss.In der SQL-Zeichenfolge, die an den Server übergeben wird, werden Fragezeichen als Platzhalter für die Parameter verwendet.Sie werden positionale Parameter genannt, weil sie nur durch ihre Position im String unterschieden werden können.Konnektivitätsbibliotheken unterstützen oft named parameters der Form :id
, :amount
, :a
usw.Diese sind benutzerfreundlicher;die Bibliothek kümmert sich um die Übersetzung der benannten Parameter in Positionsparameter, bevor die Anweisung an den Server übergeben wird.
Die Suchbedingung kann auch lokale (PSQL) oder Host- (ESQL) Variablennamen enthalten, denen ein Doppelpunkt vorangestellt ist.
SELECT ... FROM ... [...] WHERE <search-condition> [...]
Parameter | Beschreibung |
---|---|
search-condition |
Ein boolescher Ausdruck, der TRUE, FALSE oder möglicherweise UNKNOWN (NULL) zurückgibt. |
Nur die Zeilen, für die die Suchbedingung 'TRUE' ergibt, werden in die Ergebnismenge aufgenommen.Seien Sie vorsichtig mit möglichen NULL
-Ergebnissen: Wenn Sie einen NULL
-Ausdruck mit NOT
negieren, ist das Ergebnis immer noch NULL
und die Zeile wird nicht passieren.Dies wird in einem der folgenden Beispiele demonstriert.