令和2年度 秋期 応用情報技術者試験 午前 問29
"東京在庫"表と"大阪在庫"表に対して,SQL文を実行して得られる結果はどれか。ここで,実線の下線は主キーを表す。

キーボード:1〜4 で解答 → 次の問題 ← 前の問題
正解と解説を見る
解答する前に解説を開いたので、この問題は「見て解いた」として記録します(正解数には入りません)。
正解:エ
UNION ALLは、2つのSELECT結果を重複を排除せずに結合します。
そのため、東京在庫と大阪在庫のすべての行がそのまま出力されます。
東京と大阪の両方に存在する商品コードC003のようなレコードも重複したまま出力されます。
具体的な結果は以下の通りです。
- 東京在庫:
- A001 50
- B002 25
- C003 35
- 大阪在庫:
- B002 15
- C003 35
- D004 80
よって、全レコードが重複含めて結合されるため、選択肢「エ」が正解です。
各選択肢の検証
- ア:
A001 50
B002 25
B002 15
D004 80 -
誤り。C003のレコードが不足しています。
-
イ:
A001 50
B002 40
C003 70
D004 80 -
誤り。同じ商品コードの在庫数が合計されています。これはUNION ALLの動作ではなく、SUMやGROUP BYが必要です。
-
ウ:
A001 50
B002 25
B002 15
C003 35
D004 80 -
誤り。C003が1行しか出力されていません。
-
エ:
A001 50
B002 25
B002 15
C003 35
C003 35
D004 80 - 正しい。C003の重複行が残ったまま出力されます。
答え
エ
出典:令和2年度 秋期 応用情報技術者試験 午前 問29