未分類
春期
データベーススペシャリスト 2010年 春期 問10
10 / 25
次のSQL文と同じ検索結果が得られるSQL文はどれか。 SELECT DISTINCT TBL1.COL1 FROM TBL1 WHERE COL1 IN (SELECT COL1 FROM TBL2)
正解と解説
表示する
正解 イ
SELECT DISTINCT TBL1.COL1 FROM TBL1 WHERE EXISTS (SELECT * FROM TBL2 WHERE TBL1.COL1 = TBL2.COL1)
元のSQLはTBL2に存在するCOL1を持つTBL1の行を選ぶ相関副問合せで、これはEXISTSを使い「TBL1.COL1=TBL2.COL1が存在する」と書き換えられるため、イが同じ結果です。UNION(ア)は行の和、内部結合(ウ・エ)は重複や条件が変わり、結果が一致しません。