令和3年度秋期 問29 / 80

令和3年度 秋期 応用情報技術者試験 午前 問29

"部門別売上"表から,部門コードごと,期ごとの売上を得るSQL文はどれか。

問題の図 問題の図

キーボード:1〜4 で解答 → 次の問題 ← 前の問題

正解と解説を見る

正解:イ

求める結果は、「部門コード」ごとに「第1期売上」「第2期売上」の2つの行が表示される形式です。
これは、表を縦持ち(UNIONを使って複数のSELECTを縦に結合)する形にする必要があります。

各選択肢のポイント

  • ア (INTERSECT)
    INTERSECTは、2つのSELECT結果の共通部分を取得する演算です。
    → 売上が重複するデータのみが取得されるため、不適切。

  • イ (UNION)
    UNIONは、2つのSELECT結果をすべて結合します。
    → 表を縦持ちに変換する際に最適で、結果セットがすべて含まれるため、求める形式を実現できます。

  • ウ (CROSS JOIN)
    CROSS JOINは、直積(デカルト積)を取るため、結果が膨大になります。
    → 不適切です。

  • エ (INNER JOIN)
    INNER JOINは、2つのテーブルを条件に基づいて結合します。
    → JOINでは表を縦持ちにすることはできません。不適切です。


答え

イ: UNION を使用

出典:令和3年度 秋期 応用情報技術者試験 午前 問29

令和3年度秋期の他の問題