Hitachi

Hitachi Advanced Data Binder SQLリファレンス


7.20.2 EXISTS述語

表副問合せの結果が0行(空集合)でないかどうかを判定するときにEXISTS述語を使用します。

〈この項の構成〉

(1) 指定形式

EXISTS述語::=EXISTS 表副問合せ

(2) 指定形式の説明

表副問合せ

表副問合せについては,「7.3 副問合せ」を参照してください。

(3) 述語の評価

表副問合せの結果が1行以上の場合,EXISTS述語の結果がになります。表副問合せの結果が0行(空集合)の場合,EXISTS述語の結果がになります。EXISTS述語の結果を次の表に示します。

表7‒3 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述語の指定です。