応用情報技術者平成25年秋期 午前問31

問31

地域別に分かれている同じ構造の三つの商品表,"東京商品","名古屋商品","大阪商品"がある。次のSQL文と同等の結果が得られる関係式はどれか。ここで,三つの商品表の主キーは"商品番号"である。また,X−YはXからYの要素を除いた差集合を表す。
31.gif/image-size:425×88
  • (大阪商品∩名古屋商品)−東京商品
  • (大阪商品∪名古屋商品)−東京商品
  • 東京商品−(大阪商品∩名古屋商品)
  • 東京商品−(大阪商品∪名古屋商品)
  • [出題歴]
  • ソフトウェア開発技術者 H19春期 問63

分類

テクノロジ系 » データベース » データ操作

正解

解説

IN句は続く"()"の中のリストに指定された値があるかを比較する演算子です。この設問の場合ではIN句の条件にSELECT文を使用しているのでSELECT文の結果がIN句で使用されるリストになります。

UNION句の前後のSQL文を解釈すると次のようになります。
31_1.gif/image-size:425×35
"東京商品"表に含まれていない"大阪商品"表の行を抽出するSQL文です。
31_2.gif/image-size:425×35
"東京商品"表に含まれていない"名古屋商品"表の行を抽出するSQL文です。

上記の2つのSQL文の結果で集合で表します。さらにUNION句は前後のSQL文の和集合を返す演算子なのでこのSQL文は次の集合を返します。
31_3.gif/image-size:484×121
これは大阪商品と名古屋商品の和集合(∪)から東京商品を引いたもの(−,差集合)なので「(大阪商品∪名古屋商品)−東京商品」が適切です。
© 2010-2024 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop