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

応用情報技術者試験 令和2年度 午前
Q 2929 / 80
“東京在庫”表と“大阪在庫”表に対して,SQL 文を実行して得られる結果はどれか。ここで,実線の下線は主キーを表す。 東京在庫
商品コード在庫数
A00150
B00225
C00335
大阪在庫
商品コード在庫数
B00215
C00335
D00480
〔SQL 文〕 SELECT 商品コード,在庫数 FROM 東京在庫     UNION ALL SELECT 商品コード,在庫数 FROM 大阪在庫
この問の正解率:62.99%(354件)

解説

応用情報技術者試験 令和2年度 午前 問29「“東京在庫”表と“大阪在庫”表に対して,SQL 文を実行して得られる結果はどれか…」の正解と解説です。応用情報技術者試験の「テクノロジ系」分野の過去問で、これまでの受験者の正答率は約63%です。

正解

.

正答率 63.0%(354人中 223人が正解)

問題の解説

UNION は2つの問合せ結果を縦に連結する演算で、ALL を付けた UNION ALL は重複行を排除せずそのまますべて残す点が重要。東京在庫の3行と大阪在庫の3行を単純に足し合わせるので結果は6行になり、両表に共通して存在する(C003,35)も重複したまま2行とも残る。重複排除されず6行すべてが出力されるエが正解。

選択肢ごとの解説

  • 両表に共通の C003 の行が消えたり一部の行が欠けたりしており、全行をそのまま残すUNION ALLの結果とは一致しないため誤り。
  • 同じ商品コードの在庫数が合算(B002が40、C003が70)されているが、UNION ALLは行を連結するだけで集計はしないため誤り。
  • (C003,35)が1行しか現れておらず、UNION ALL なら重複もそのまま残り2行になるはずなので誤り。
  • 両表の6行をすべて連結し、重複する(C003,35)も2行残しており、UNION ALLの結果として正しい。

応用情報技術者試験 令和2年度 午前 の過去問一覧に戻る・問29

応用情報技術者試験 の iOS アプリ版

アプリ版なら、よりスムーズに動作し、
スワイプで問題遷移ができます。

応用情報技術者試験 合格.dev を App Store でダウンロード