HOME»ソフトウェア開発技術者平成19年春期»午前問63
ソフトウェア開発技術者平成19年春期 午前問63
問63
地域別に分かれている同じ構造の三つの商品表,"東京商品","名古屋商品","大阪商品"がある。次のSQL文と同等の結果が得られる関係式はどれか。ここで,三つの商品表の主キーは"商品番号"である。また,X-YはXからYの要素を除いた差集合を表す。
- (大阪商品∩名古屋商品)-東京商品
- (大阪商品∪名古屋商品)-東京商品
- 東京商品-(大阪商品∩名古屋商品)
- 東京商品-(大阪商品∪名古屋商品)
- [出題歴]
- 応用情報技術者 H25秋期 問31
分類
テクノロジ系 » データベース » データ操作
正解
イ
解説
IN句は続く"()"の中のリストに指定された値があるかを比較する演算子です。この設問の場合ではIN句の条件にSELECT文を使用しているのでSELECT文の結果がIN句で使用されるリストになります。
UNION句の前後のSQL文を解釈すると次のようになります。"東京商品"表に含まれていない"大阪商品"表の行を抽出するSQL文です。"東京商品"表に含まれていない"名古屋商品"表の行を抽出するSQL文です。
上記の2つのSQL文の結果で集合で表します。さらにUNION句は前後のSQL文の和集合を返す演算子なのでこのSQL文は次の集合を返します。これは大阪商品と名古屋商品の和集合(∪)から東京商品を引いたもの(-,差集合)なので「(大阪商品∪名古屋商品)-東京商品」が適切です。
UNION句の前後のSQL文を解釈すると次のようになります。"東京商品"表に含まれていない"大阪商品"表の行を抽出するSQL文です。"東京商品"表に含まれていない"名古屋商品"表の行を抽出するSQL文です。
上記の2つのSQL文の結果で集合で表します。さらにUNION句は前後のSQL文の和集合を返す演算子なのでこのSQL文は次の集合を返します。これは大阪商品と名古屋商品の和集合(∪)から東京商品を引いたもの(-,差集合)なので「(大阪商品∪名古屋商品)-東京商品」が適切です。