ウカマル応用情報技術者ログイン

平成26年度 春期 応用情報技術者 問28

テクノロジ系

“東京在庫”表と“大阪在庫”表に対して,SQL 文を実行して得られる結果はどれか。ここで,実線の下線は主キーを表す。

東京在庫

商品コード(主キー)在庫数
A00150
B00225
C00335

大阪在庫

商品コード(主キー)在庫数
B00215
C00335
D00480
〔SQL 文〕
SELECT 商品コード, 在庫数 FROM 東京在庫
    UNION ALL
SELECT 商品コード, 在庫数 FROM 大阪在庫
選択肢

選択肢の図

図の内容(文字)
ア
商品コード | 在庫数 A001 | 50 B002 | 25 B002 | 15 D004 | 80
イ
商品コード | 在庫数 A001 | 50 B002 | 40 C003 | 70 D004 | 80
ウ
商品コード | 在庫数 A001 | 50 B002 | 25 B002 | 15 C003 | 35 D004 | 80
エ
商品コード | 在庫数 A001 | 50 B002 | 25 B002 | 15 C003 | 35 C003 | 35 D004 | 80
正解と解説

正解 エ

UNION ALLは重複行を取り除かずに、2つの結果をそのまま合わせます。そのため、両方の表にある(C003, 35)は2行とも残ります。

UNIONは、2つのSELECT文の結果を合わせて重複行を1行にまとめます。UNION ALLは重複行を除かず、全行をそのまま出力します。東京在庫の3行と大阪在庫の3行を合わせると、結果は6行になります。B002は在庫数が25と15で異なるので、UNIONでも2行残ります。(C003, 35)は2つの表で完全に一致しますが、UNION ALLなので2行とも残ります。

ア:C003の行が1行もありません。UNION ALLでも UNIONでも、C003の行は少なくとも1行残ります。

イ:商品コードごとに在庫数を合計した結果です。これはGROUP BYとSUMを使った集計の結果で、UNION ALLは集計をしません。

ウ:UNIONを実行した結果です。重複する(C003, 35)が1行にまとめられています。

出典:平成26年度 春期 応用情報技術者試験 問28

全年度から出題。10問で実力を判定します。登録不要。

出典:平成26年度 春期 応用情報技術者試験 問28(独立行政法人情報処理推進機構)

解説と用語ページは生成 AI が書き、別の生成 AI が確かめています。作り方