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

横持ちを縦持ちに変換するにはUNIONで行を連結する

応用情報技術者試験2021年度 秋期 午前29/データベース / SQL

部門別売上:
部門コード第1期売上第2期売上
D011,0004,000
D022,0005,000
D033,0008,000
〔問合せ結果〕:
部門コード売上
D01第1期1,000
D01第2期4,000
D02第1期2,000
D02第2期5,000
D03第1期3,000
D03第2期8,000

選択肢

正解と解説

正解: SELECT 部門コード, '第1期' AS 期, 第1期売上 AS 売上 FROM 部門別売上 UNION (SELECT 部門コード, '第2期' AS 期, 第2期売上 AS 売上 FROM 部門別売上) ORDER BY 部門コード, 期

1行に第1期と第2期の売上が横に並んだ表を、期ごとの縦持ちに変換したい。第1期を取り出す問合せと第2期を取り出す問合せをそれぞれ作り、UNIONで行方向に連結すれば求める結果になる。UNIONは列数と列のデータ型が一致していれば結果を縦に結合できる。

選択肢ごとの解説

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

同じ分野の他の問題

最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。