ホーム › 応用情報技術者試験 › 令和2年度 10月 › 問29令和2年度 10月 応用情報技術者試験 問29テクノロジ系テクノロジ系2020年☆ ブックマーク“東京在庫”表と“大阪在庫”表に対して,SQL文を実行して得られる結果はどれか。 ここで,実線の下線は主キーを表す。 〔東京在庫〕(*商品コード*が主キー) 商品コード|在庫数/A001|50/B002|25/C003|35 〔大阪在庫〕(*商品コード*が主キー) 商品コード|在庫数/B002|15/C003|35/D004|80 〔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購入状況を確認しています…正答4解説正解は4です。 UNION ALLは、二つのSELECT文の結果をそのまま縦につなげる演算です。 重複行を除去するUNIONと異なり、まったく同じ行があっても両方とも残します。 【選択肢別解説】 1:× C003の行が一つも含まれていません。 東京在庫と大阪在庫の両方にあるC003|35は、2行とも結果に現れます。 2:× B002を40、C003を70のように在庫数を合計した結果です。 これはGROUP BYとSUMで集計した場合の結果で、UNION ALLでは合計されません。 3:× C003|35が1行だけになっています。 これは重複行を除去するUNIONの結果で、UNION ALLでは重複行も残ります。 4:○ 東京在庫の3行と大阪在庫の3行をそのまま合わせた6行で、C003|35が2回現れています。 UNION ALLの結果と一致します。 【ポイント】 UNIONは和集合をとって重複を除き、UNION ALLは重複を残します。 B002の行は在庫数が25と15で異なるので、UNIONでも2行とも残る点に注意します。← 問28問30 →まとめて解く令和2年度 10月を通しで解く(80問)→この回の他の問題令和2年度 10月 応用情報技術者試験 の全80問を見る →