過去問解きまくり研究所 ホーム

平成26年度 春期 午前 問28

データベース

SQL文を実行して得られる結果

“東京在庫”表と“大阪在庫”表に対して,SQL 文を実行して得られる結果はどれか。ここで,実線の下線は主キーを表す。〔表:東京在庫(商品コード,在庫数)= A001/50,B002/25,C003/35。大阪在庫(商品コード,在庫数)= B002/15,C003/35,D004/80。商品コードが主キー。〕〔SQL 文:SELECT 商品コード,在庫数 FROM 東京在庫 UNION ALL SELECT 商品コード,在庫数 FROM 大阪在庫〕

答えと解説を見る

✓ これが正解エ6行の表。A001/50,B002/25,B002/15,C003/35,C003/35,D004/80

解説

重複を消さないので、六行がそのまま縦に並びます。

設問は、二つの在庫表を UNION ALL でつないだときの結果を選ばせています。SQL の集合演算を問う設問は、まず行数を数えて候補を削り、それから中身を突き合わせるのが早道です。UNION は二つの結果をつないだあとで重複した行を取り除きますが、ALL を付けるとその取り除きを行いません。つまり両方の行がそのまま縦に並ぶだけになります。東京の表が三行、大阪の表が三行ですから、結果は六行です。この時点で候補は一つに絞られます。中身も確かめておきましょう。商品コードが同じ行は、在庫数が違っていても同じであっても、二行のまま残ります。値が足し合わされることもありません。この演算は行を並べる働きしか持たず、計算をする働きは持たないからです。

ほかの選択肢はなぜ違うのか

この問題の用語

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

同じ用語が出る問題

この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)