平成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文

キーワードの解説
  • SQL文
    SQL文で出てくる句について説明します。
    • SELECT
      出力するデータを指定します。
    • DISTINCT
      同じ内容の(重複した)データを除きます。
    • FROM
      操作するデータを指定します。
    • AS
      操作するデータの名前を変えます。
    • WHERE
      操作する条件を指定します。
    • GROUP BY
      同じ内容のデータをまとめます。
    • HAVING
      GROUP BYで抽出条件を指定する。
    • COUNT
      個数を数えます。
    • SUM
      集計(加算)します。
    • AVG
      平均値を計算します。

もっと、「DISTINCT」について調べてみよう。

戻る 一覧へ 次へ