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

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

解説

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

正解

エ.

正答率 62.9%(356人中 224人が正解)

問題の解説

UNION ALL は、二つの問合せ結果を、重複を取り除かずにそのまま連結する。東京在庫の 3 行と大阪在庫の 3 行を全て並べるので 6 行になり、(C003, 35) は両方の表にあるため 2 行残る。重複を取り除く UNION との違いに注意する。

選択肢ごとの解説

  • アA001、B002 (2 行)、D004 の 4 行で、両方の表にある C003 の行を 2 行とも落としている。UNION ALL は行を落とさない。
  • イ商品コードごとに在庫数を合計した結果で、集計 (GROUP BY と SUM) を行わない UNION ALL の結果ではない。
  • ウ5 行で、重複する C003 の行を 1 行にまとめている。これは重複を取り除く UNION の結果であり、UNION ALL ではない。
  • エ正しい。UNION ALL は重複行を取り除かずに連結するので、東京在庫 3 行と大阪在庫 3 行の計 6 行になり、C003 の行が 2 行残る。

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

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

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

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