本文へスキップ

技術士試験(情報工学部門)・情報技術者試験。ファーストマクロ。


Since 2016.4.19

平成25年度 秋期 応用情報技術者試験問題と解説

問31

地域別に分かれている同じ構造の三つの商品表、“東京商品”、“名古屋商品”、“大阪商品”がある。次のSQL文と同等の結果が得られる関係代数式はどれか。ここで、三つの商品表の主キーは“商品番号”である。

SELECT * FROM 大阪商品
  WHERE 商品番号 NOT IN (SELECT 商品番号 FROM 東京商品)
UNION
SELECT * FROM 名古屋商品
  WHERE 商品番号 NOT IN (SELECT 商品番号 FROM 東京商品)

ア (大阪商品 ∩ 名古屋商品) − 東京商品

イ (大阪商品 ∪ 名古屋商品) − 東京商品

ウ 東京商品 − (大阪商品 ∩ 名古屋商品)

エ 東京商品 − (大阪商品 ∪ 名古屋商品)


正解


解説

問題のSQL、
SELECT * FROM 大阪商品
 WHERE 商品番号 NOT IN (SELECT 商品番号 FROM 東京商品)
UNION

SELECT * FROM 名古屋商品

 WHERE 商品番号 NOT IN (SELECT 商品番号 FROM 東京商品)
は、

“東京商品”表から商品番号を抽出し、その中にない商品番号をキーにして
“大阪商品”表から全ての項目を抽出
し、そして、
“東京商品”表から商品番号を抽出し、その中にない商品番号をキーにして
“名古屋商品”表から全ての項目を抽出
し、結合する
という意味になる。

関係代数式にすると
(大阪商品−東京商品) ∪ (名古屋商品−東京商品) となり、これを変形すると
(大阪商品 ∪ 名古屋商品) − 東京商品 となる。

問30 目次 問32