|
Bedingungen haben prinzipiell die Struktur
<Attribut> <Operator> <Wert> (z.B.
Name=„John“) wobei die Werte wiederum Attribute, Konstanten oder aber das
Resultat von Unteranfragen sein können, d. h. man muss die Werte von Bedingungen
nicht unbedingt fix definieren, sondern kann sie mittels einer verschachtelten
Anfrage generieren. Anfragen können so beliebig tief verschachtelt werden.
Es gibt drei Typen von Unteranfragen, welche sich durch ihr Resultat unterscheiden:
Wird nur ein Wert oder eine Zeile zurückgegeben, können die normalen Vergleichsoperatoren verwendet werden.
Werden mehrere Zeilen zurückgeben, kommen spezielle Operatoren zum Einsatz:
IN
sucht ob der Wert in der Unteranfrage vorkommt
<Vergleichsoperator> ALL
die Bedingung muss für alle Zeilen in der Unterabfrage TRUE ergeben
<Vergleichsoperator> ANY (SOME)
die Bedingung muss für mindestens eine Zeile in der Unterabfrage TRUE ergeben
(<Unterabfrage>) AS <Name>