平成26年春期試験問題 午前問28
問28解説へ
"東京在庫"表と"大阪在庫"表に対して,SQL文を実行して得られる結果はどれか。ここで,実線の下線は主キーを表す。
〔SQL文〕
![28.png](/kakomon/26_haru/img/28.png)
SELECT 商品コード,在庫数 FROM 東京在庫
UNION ALL
SELECT 商品コード,在庫数 FROM 大阪在庫
UNION ALL
SELECT 商品コード,在庫数 FROM 大阪在庫
広告
解説
UNION句は、和集合演算を行う演算子で、複数のSELECT文の結果セットを1つに統合する機能を持ちます。通常のUNIONでは、2つの結果セットに全く同じレコードがあった場合に重複行が削除された結果を返しますが、UNION ALLでは重複行を含めた結果を返します。
"東京在庫"表と"大阪在庫"表には共通するレコード{商品コード:C003,在庫数:35}がありますが、UNION ALLで結合するので重複行がそのまま残されることになります。
したがって、"東京在庫"表と"大阪在庫"表をそのまま統合した「エ」が適切です。ちなみにUNIONで結合した場合は「ウ」の結果が得られます。![28_3.png](/kakomon/26_haru/img/28_3.png)
"東京在庫"表と"大阪在庫"表には共通するレコード{商品コード:C003,在庫数:35}がありますが、UNION ALLで結合するので重複行がそのまま残されることになります。
したがって、"東京在庫"表と"大阪在庫"表をそのまま統合した「エ」が適切です。ちなみにUNIONで結合した場合は「ウ」の結果が得られます。
![28_3.png](/kakomon/26_haru/img/28_3.png)
広告