次のSQL文と同じ検索結果が得られるSQL文はどれか。 SELECT DISTINCT TBL1.COL1 FROM TBL1 WHERE COL1 IN (SELECT COL1 FROM TBL2)

IN述語副問合せは相関EXISTSに等価変換できる

データベーススペシャリスト試験2016年度 春期 午前II9/SQL / 述語

選択肢

正解と解説

正解: SELECT DISTINCT TBL1.COL1 FROM TBL1 WHERE EXISTS (SELECT * FROM TBL2 WHERE TBL1.COL1 = TBL2.COL1)

IN述語による副問合せは、外側の行の値が副問合せの結果集合に含まれるかを判定するもので、相関副問合せを使ったEXISTS述語に書き換えられる。どちらもTBL2に同じCOL1の値が1件でもあればその行を残すという意味になり、結果は一致する。

選択肢ごとの解説

出典:平成28年度 春期 データベーススペシャリスト試験 午前II 問9(IPA)

同じ分野の他の問題

最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。