EXISTS述語とは?
EXISTS述語とは、副問合せが1行でも結果を返すかどうかを真偽で判定する述語。行が1件でもあれば真。
データベーススペシャリスト試験の過去問では1回出題されています。
イグジストじゅつご
EXISTS述語の意味
副問合せが1行でも結果を返すかどうかを真偽で判定する述語。行が1件でもあれば真。
EXISTS述語の具体例
部下を持たない社員を求めるとき、NOT EXISTS(自分を上司とする社員が存在する)と書く。
EXISTS述語は試験でどう引っ掛けられる?
EXISTSは結果の値ではなく行の有無だけを見るので、SELECT句に何を書いても結果は変わらない。NULLの影響を受けない点がINとの大きな違い。
EXISTS述語と関連する用語
EXISTS述語が出た過去問
次のSQL文と同じ検索結果が得られるSQL文はどれか。 SELECT DISTINCT TBL1.COL1 FROM TBL1 WHERE COL1 IN (S…
正解:SELECT DISTINCT TBL1.COL1 FROM TBL1 WHERE EXISTS (SELECT * FROM TBL2 WHERE TBL1.COL1 = TBL2.COL1)
要点:IN述語の副問合せは相関EXISTSに等価変換できる
IN述語による副問合せは、外側の行の値が副問合せの結果集合に含まれるかを判定するもので、相関副問合せを使ったEXISTS述語に書き換えられる。どちらもTBL2に同じCOL1の値が1件でもあればその行を残すという意味になり、結果は一致する。
出典:平成28年度 春期 データベーススペシャリスト試験 am2 問9(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。