平成25年度 秋期 応用情報技術者試験 午前 問31
地域別に分かれている同じ構造の三つの商品表,“東京商品”,“名古屋商品”,“大阪商品”がある。次の SQL 文と同等の結果が得られる関係代数式はどれか。ここで,三つの商品表の主キーは“商品番号”である。
SELECT * FROM 大阪商品
WHERE 商品番号 NOT IN (SELECT 商品番号 FROM 東京商品)
UNION
SELECT * FROM 名古屋商品
WHERE 商品番号 NOT IN (SELECT 商品番号 FROM 東京商品)
キーボード:1〜4 で解答 → 次の問題 ← 前の問題
正解と解説を見る
解答する前に解説を開いたので、この問題は「見て解いた」として記録します(正解数には入りません)。
正解:イ
前半は「大阪商品 − 東京商品」,後半は「名古屋商品 − 東京商品」で,それを UNION(和)でつないでいます。
(大阪商品 − 東京商品)∪(名古屋商品 − 東京商品)=(大阪商品 ∪ 名古屋商品)− 東京商品
-
ア: (大阪商品 ∩ 名古屋商品)− 東京商品
誤り。∩(共通部分)では,大阪と名古屋の両方にある商品だけになってしまいます。 -
イ: (大阪商品 ∪ 名古屋商品)− 東京商品
正しい。大阪商品と名古屋商品の和から,東京商品にあるものを除いた結果で,SQL 文と同じです。 -
ウ: 東京商品 −(大阪商品 ∩ 名古屋商品)
誤り。東京商品から引く形になっており,逆です。 -
エ: 東京商品 −(大阪商品 ∪ 名古屋商品)
誤り。東京商品から引く形になっており,逆です。
答え
イ: (大阪商品 ∪ 名古屋商品)− 東京商品
出典:平成25年度 秋期 応用情報技術者試験 午前 問31