データベーススペシャリスト 平成23年特別 午前U 問7

午前U 問7

地域別に分かれている同じ構造の三つの商品表,"東京商品","名古屋商品","大阪商品"がある。次のSQL文と同等の結果が得られる関係代数式はどれか。ここで,三つの商品表の主キーは"商品番号"である。また,X−YはXからYの要素を除いた差集合を表す。
07.gif/image-size:388×81
  • (大阪商品∩名古屋商品)−東京商品
  • (大阪商品∪名古屋商品)−東京商品
  • 東京商品−(大阪商品∩名古屋商品)
  • 東京商品−(大阪商品∪名古屋商品)
  • [この問題の出題歴]
  • データベース H19春期 問26

分類

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

正解

解説

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

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

上記の2つのSQL文の結果で集合で表します。さらにUNION句は前後のSQL文の和集合を返す演算子なのでこのSQL文は次の集合を返します。
07_3.gif/image-size:484×121
これは大阪商品と名古屋商品の和集合(∪)から東京商品を引いたもの(−,差集合)なので「(大阪商品∪名古屋商品)−東京商品」が適切です。
© 2016-2018 データベーススペシャリストドットコム All Rights Reserved.

Pagetop