令和2年度秋期 問29 / 80

令和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

令和2年度秋期の他の問題