7.20.2 EXISTS述語
表副問合せの結果が0行(空集合)でないかどうかを判定するときにEXISTS述語を使用します。
- 〈この項の構成〉
(1) 指定形式
EXISTS述語::=EXISTS 表副問合せ
(2) 指定形式の説明
- 表副問合せ:
-
表副問合せについては,「7.3 副問合せ」を参照してください。
(3) 述語の評価
表副問合せの結果が1行以上の場合,EXISTS述語の結果が真になります。表副問合せの結果が0行(空集合)の場合,EXISTS述語の結果が偽になります。EXISTS述語の結果を次の表に示します。
項番 |
表副問合せの結果の行数 |
EXISTS述語の結果 |
---|---|---|
1 |
1行以上 |
真 |
2 |
0行(空集合) |
偽 |
(4) 規則
表副問合せ中の選択リストに,*または表指定.*を指定した場合,表副問合せ中の表参照で指定した表の任意の1列を指定した意味になります。ただし,集合関数の指定は該当しません。
(5) 例題
- 例題
-
販売履歴表(SALESLIST)と商品一覧表(PRODUCTSLIST)から,販売実績のある商品の情報を検索します。
SELECT * FROM "PRODUCTSLIST" WHERE EXISTS(SELECT * FROM "SALESLIST" WHERE "SALESLIST"."PUR-CODE"="PRODUCTSLIST"."PUR-CODE")
下線部分がEXISTS述語の指定です。