"東京在庫"表と"大阪在庫"表に対して、SQL文を実行して得られる結果はどれか。ここで、実線の下線は主キーを表す。 〔SQL文〕 SELECT 商品コード, 在庫数 FROM 東京在庫 UNION ALL SELECT 商品コード, 在庫数 FROM 大阪在庫
UNION ALLは重複を除かずに結果を単純連結する
東京在庫:
大阪在庫:
| 商品コード | 在庫数 |
|---|---|
| A001 | 50 |
| B002 | 25 |
| C003 | 35 |
| 商品コード | 在庫数 |
|---|---|
| B002 | 15 |
| C003 | 35 |
| D004 | 80 |
選択肢
- ア商品コード・在庫数の組みが A001:50, B002:25, B002:15, D004:80 の4行の結果表
- イ商品コード・在庫数の組みが A001:50, B002:40, C003:70, D004:80 の4行の結果表(重複を合算したもの)
- ウ商品コード・在庫数の組みが A001:50, B002:25, B002:15, C003:35, D004:80 の5行の結果表
- エ商品コード・在庫数の組みが A001:50, B002:25, B002:15, C003:35, C003:35, D004:80 の6行の結果表
正解と解説
正解:エ 商品コード・在庫数の組みが A001:50, B002:25, B002:15, C003:35, C003:35, D004:80 の6行の結果表
UNION ALLは2つの問合せ結果を単純に連結し、重複行を取り除かない。東京在庫の3行と大阪在庫の3行がそのまま並ぶので、結果は6行になる。重複を除きたい場合はALLを付けないUNIONを使う。
選択肢ごとの解説
- ア行が欠けており、単純連結の結果になっていない。
- イ同じ商品コードの在庫数を合算しており、これはGROUP BYとSUMを使った場合の結果である。
- ウ重複行を除いた場合に近く、UNION ALLの結果ではない。
- エ正しい。両表の3行ずつがそのまま連結され、重複を含む6行になる。
同じ分野の他の問題
- 関係データベースのビューに関する記述のうち、適切なものはどれか。2025年度 秋期 午前 問28
- 更新可能なビューを作成するSQL文はどれか。ここで、SQL文中に現れる基底表は全て更新可能とする。2023年度 秋期 午前 問28
- “部門別売上”表から、部門コードごと、期ごとの売上を得るSQL文はどれか。2021年度 秋期 午前 問29
- 表に対するSQLのGRANT文の説明として、適切なものはどれか。2020年度 10月試験 午前 問26
- 図のような関係データベースの“注文”表と“注文明細”表がある。“注文”表の行を削除すると、対応する“注文明細”表の行が、…2019年度 秋期 午前 問27
最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。