平成22年 春期 データベーススペシャリスト 午前II 問10

次のSQL文と同じ検索結果が得られるSQL文はどれか。

 SELECT DISTINCT TBL1.COL1 FROM TBL1
        WHERE COL1 IN ( SELECT COL1 FROM TBL2 )

 ア  SELECT DISTINCT TBL1.COL1 FROM TBL1
        UNION SELECT TBL2.COL1 FROM TBL2
 イ  SELECT DISTINCT TBL1.COL1 FROM TBL1
        WHERE EXISTS
        ( SELECT * FROM TBL2 WHERE TBL1.COL1 = TBL2.COL1 )
 ウ  SELECT DISTINCT TBL1.COL1 FROM TBL1
        WHERE TBL1.COL1 = TBL2.COL1
        AND TBL1.COL2 = TBL2.COL2
 エ  SELECT DISTINCT TBL1.COL1 FROM TBL1 LEFT OUTER JOIN TBL2
        ON TBL1.COL1 = TBL2.COL1


答え イ


解説
元のSQL文
 SELECT DISTINCT TBL1.COL1 FROM TBL1
        WHERE COL1 IN ( SELECT COL1 FROM TBL2 )
は、TBL2のCOL1と一致するTBL1のCOL1を重複を除いて出力するという意味で、これと同じSQL文はイの
 SELECT DISTINCT TBL1.COL1 FROM TBL1
        WHERE EXISTS
        ( SELECT * FROM TBL2 WHERE TBL1.COL1 = TBL2.COL1 )
になります。


キーワード
・SQL文

キーワードの解説

戻る 一覧へ 次へ