データ操作(全67問中51問目)
No.51解説へ
地域別に分かれている同じ構造の三つの商品表,"東京商品","名古屋商品","大阪商品"がある。次のSQL文と同等の結果が得られる関係式はどれか。ここで,三つの商品表の主キーは"商品番号"である。また,X-YはXからYの要素を除いた差集合を表す。
出典:平成19年春期 問63
- (大阪商品∩名古屋商品)-東京商品
- (大阪商品∪名古屋商品)-東京商品
- 東京商品-(大阪商品∩名古屋商品)
- 東京商品-(大阪商品∪名古屋商品)
広告
解説
IN句は続く"()"の中のリストに指定された値があるかを比較する演算子です。この設問の場合ではIN句の条件にSELECT文を使用しているのでSELECT文の結果がIN句で使用されるリストになります。
UNION句の前後のSQL文を解釈すると次のようになります。"東京商品"表に含まれていない"大阪商品"表の行を抽出するSQL文です。"東京商品"表に含まれていない"名古屋商品"表の行を抽出するSQL文です。
上記の2つのSQL文の結果で集合で表します。さらにUNION句は前後のSQL文の和集合を返す演算子なのでこのSQL文は次の集合を返します。これは大阪商品と名古屋商品の和集合(∪)から東京商品を引いたもの(-,差集合)なので「(大阪商品∪名古屋商品)-東京商品」が適切です。
UNION句の前後のSQL文を解釈すると次のようになります。"東京商品"表に含まれていない"大阪商品"表の行を抽出するSQL文です。"東京商品"表に含まれていない"名古屋商品"表の行を抽出するSQL文です。
上記の2つのSQL文の結果で集合で表します。さらにUNION句は前後のSQL文の和集合を返す演算子なのでこのSQL文は次の集合を返します。これは大阪商品と名古屋商品の和集合(∪)から東京商品を引いたもの(-,差集合)なので「(大阪商品∪名古屋商品)-東京商品」が適切です。
広告