Prädikat EXISTS
Das Prädikat EXISTS prüft, ob eine bestimmte, durch eine Unterauswahl definierte Bedingung gegeben ist.
Verwenden Sie folgende Syntax:
EXISTS ( Unterauswahl )
EXISTS pfadausdruck-mit-einzelwerten
Das Ergebnis von EXISTS ist 'wahr', wenn die Unterauswahl mindestens einen Wert zurückgibt oder der Pfadausdruck zu einer nicht-leeren Sammlung führt. Anderenfalls ist das Ergebnis 'falsch'.
Zum Negieren eines EXISTS-Prädikats stellen Sie den logischen Operator NOT voran.
Beispiel: Prädikat EXISTS
Abteilungen zurückgeben, die
mindestens einen Mitarbeiter haben, der mehr als 1000000 verdient:
SELECT OBJECT(d) FROM DeptBean dWHERE EXISTS ( SELECT 1 FROM IN (d.emps) e WHERE e.salary > 1000000 )
Abteilungen ohne Mitarbeiter zurückgeben:
SELECT OBJECT(d) FROM DeptBean dWHERE NOT EXISTS ( SELECT 1 FROM IN (d.emps) e)
Die vorherige Abfrage kann auch wie
folgt geschrieben werden:
SELECT OBJECT(d) FROM DeptBean d WHERE NOT EXISTS d.emps