| 部門コード | 第 1 期売上 | 第 2 期売上 |
|---|---|---|
| D01 | 1,000 | 4,000 |
| D02 | 2,000 | 5,000 |
| D03 | 3,000 | 8,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 |
応用情報技術者試験 令和3年度秋期 午前 問29「“部門別売上”表から,部門コードごと,期ごとの売上を得る SQL 文はどれか。 …」の正解と解説です。応用情報技術者試験の「テクノロジ系」分野の過去問で、これまでの受験者の正答率は約63%です。
イ. SELECT 部門コード,’第 1 期’ AS 期,第 1 期売上 AS 売上 FROM 部門別売上 UNION (SELECT 部門コード,’第 2 期’ AS 期,第 2 期売上 AS 売上 FROM 部門別売上) ORDER BY 部門コード,期
正答率 63.0%(659人中 415人が正解)
横持ち(部門ごとに第1期売上・第2期売上が列で並ぶ)の表を、縦持ち(部門コード・期・売上の行)に変換するSQLを問う問題である。第1期分を取り出すSELECTと第2期分を取り出すSELECTを、行方向に積み上げる和演算(UNION)で結合すれば、各部門について第1期・第2期の2行が得られ、求める結果になる。したがって正解はイ。
応用情報技術者試験 令和3年度秋期 午前 の過去問一覧に戻る・問29