DBデータベーススペシャリスト試験 午前Ⅱ
平成25年度春期 データベーススペシャリスト 午前Ⅱ 問6
問題文と選択肢を読んで答えを考えてから、下の「正解と解説を見る」で確認しましょう。
問題
選択肢
- ア指定できるのは表の列だけである。
- イ集約関数で指定する列は,GROUP BY句で指定した列でなければならない。
- ウ同一の列を異なる選択項目に指定できる。
- エ表の全ての列を指定するには,全ての列名をコンマで区切って指定しなければならない。
解き方のヒントを見る
行と列の扱いを整理する視点
関係データを読み解くときは、まず各操作が対象にしているものを見分け、行の条件付けと列の構成変更を混同しないよう、操作後に残る情報の種類と形を確認する順序で考えます。
この問題で問われていること
選択肢を読む前に、処理の前後で行数と列数のどちらが変わり得るか、また各行の内容が条件によって残るのか、表示する属性の選択で組み替わるのかを整理して、問われている観点を一つに絞りましょう。
視点
データ操作を考える際は、入力と出力を同じ粒度で比べ、対象がレコード全体なのか属性の集合なのかを切り分けます。処理名の暗記だけで判断せず、結果の見え方を言葉で説明できるか確認してください。
確認ポイント
- 変化の対象が行か列かを確認する
- 入力と出力の形を同じ観点で比べる
- 操作の目的を短い言葉で説明する
正解と解説を見る
正解
ウ
解説
SELECT文の選択項目リストには、表の列を指定できるだけでなく、同じ列を複数の選択項目として記述することもできる。したがって、適切なのはウです。
理由
SELECT文では、選択項目リストに列名や式などを指定できる。列名を同じSELECT文の中で複数回記述することも構文上可能であり、同一列を異なる選択項目に指定できる。
比較
アは指定対象を表の列だけに限定している点が誤りです。イは集約関数の列に関する条件を一律に述べており、SELECT句の選択項目リストの説明として適切でない。エは全列指定にアスタリスクを使えるため誤りです。
選択肢ア
これは不正解だよ。SELECT文の選択項目リストには、表の列だけでなく、式や関数などを指定することもできる。そのため、「指定できるのは表の列だけである」と対象を列だけに限定しているこの記述は適切ではない。
選択肢イ
これは不正解だよ。集約関数で指定する列について、GROUP BY句で指定した列でなければならないと一律に定めることはできない。集約関数による値の指定とGROUP BY句の列指定を同じ条件として扱っている点が誤りである。
選択肢ウ(正解)
これは正解だよ。SELECT文の選択項目リストでは、同一の列を複数の選択項目として指定できる。選択項目ごとに列名や式を記述でき、同じ列名の記述自体は禁止されていないため、この記述が適切である。
選択肢エ
これは不正解だよ。表の全ての列を選択する場合、全ての列名を一つずつコンマで区切って記述する方法だけに限られない。SELECT文では全列を表す指定方法があるため、必ず全列名を列挙しなければならないという説明は誤りである。
学習のポイント
SELECT句の選択項目リストで認められる指定方法を整理する。
出典:独立行政法人 情報処理推進機構(IPA)平成25年度春期 データベーススペシャリスト試験 午前Ⅱ 問6(公式資料:問題冊子(PDF) / 解答例)
関連する過去問一覧
IPA Advancedは非公式の学習サイトです。解説にはAIによる補助生成を含む場合があります。公式の問題冊子・解答例・採点講評を優先し、誤りは確認後に訂正します。運営・編集方針