応用情報技術者試験 午前

解説一覧 / 令和2年度 10月 問29

解説を読む ↓

29令和2年度 10月テクノロジ系

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

問題の図
図(問題冊子 p.17 より)— クリックで原寸

正解はエ

解説 本サイト独自(IPA公表のものではありません)

 UNION ALLは,二つのSELECTで得た行を重複も含めてそのまま結合する。したがって,両表にあるC003,35は2行とも残り,値が異なるB002の2行を含めた全6行を示すエが正しい。

  •  両表に同じC003,35があることを理由に,重複した2行を両方とも結果から除いてしまっている。UNION ALLでは,この2行もそのまま残る。
  •  商品コードごとに在庫数を合計し,B002を40,C003を70としている。UNION ALLは在庫数を集計せず,各SELECTの行を連結する。
  •  両表で完全に同じC003,35を1行にまとめており,UNION ALLを重複行を除く結合と取り違えている。重複する2行は両方残る。
この解説は間違っています

 ログインは不要です

この解説は,別のモデルによるレビューを受けています。

出典:令和2年度 10月 応用情報技術者試験 午前 問29

自分で解いてから答え合わせをするなら 問題バンク — 解説は解答後に表示されます。