EXISTS 述部
EXISTS 述部は、副選択によって指定された条件が、存在するかしないかをテストします。
以下の構文を使用してください。
EXISTS ( subselect )
EXISTS collection-valued-path-expression
副選択が最低 1 つの値を戻す場合、またはパス式が空でないコレクションを求める場合は、 EXISTS の結果は true となり、そうでない場合の結果は false です。
EXISTS 述部を否定するには、論理演算子 NOT をその前に置きます。
例: EXISTS 述部
1000000 より多い報酬を得ている従業員が最低 1 人はいる部門を戻します。
SELECT OBJECT(d) FROM DeptBean d
WHERE EXISTS ( SELECT 1 FROM IN (d.emps) e WHERE e.salary > 1000000 )
従業員のいない部門を戻します。
SELECT OBJECT(d) FROM DeptBean d
WHERE NOT EXISTS ( SELECT 1 FROM IN (d.emps) e)
上記の照会は、下記のように書くこともできます。
SELECT OBJECT(d) FROM DeptBean d WHERE NOT EXISTS d.emps