平成25年度 春期 午前Ⅱ 問6
データ操作
選択項目リストに関する記述
SQL の SELECT 文の選択項目リストに関する記述として,適切なものはどれか。
- ア指定できるのは表の列だけである。
- イ集約関数で指定する列は,GROUP BY 句で指定した列でなければならない。
- ウ同一の列を異なる選択項目に指定できる。
- エ表の全ての列を指定するには,全ての列名をコンマで区切って指定しなければならない。
答えと解説を見る
✓ これが正解ウ同一の列を異なる選択項目に指定できる。
解説
選択項目リストには、同じ列を何度でも指定できます。
選択項目リストは、SELECT の直後に書いて結果の列を決める部分です。ここには表の列だけでなく、計算式や定数、集約関数なども書け、同じ列を繰り返し書くことも許されます。例えば SELECT 価格, 価格 * 1.1 FROM 商品 のように、価格の列をそのままの形と計算した形の二つで取り出せます。同じ列名を二つ並べても、文法上の誤りにはなりません。選択項目リストは結果に並べたい値の一覧であり、表の列そのものに限らないと押さえると判断がつきます。
ほかの選択肢はなぜ違うのか
- ア指定できるのは表の列だけである。:選択項目リストには列名のほかに、計算式、定数、集約関数なども書けます。表の列だけに限るという記述は狭すぎ、例えば数量に単価を掛けた値を結果の列として取り出すこともできます。
- イ集約関数で指定する列は,GROUP BY…:制約の向きが逆になっています。GROUP BY を使うとき、集約関数を使わずにそのまま書く列が GROUP BY 句の列である必要があります。集約関数の中で使う列は、GROUP BY に含まれない列で構いません。
- エ表の全ての列を指定するには,全ての列名を…:表の全ての列を取り出すときは、列名を並べる代わりにアスタリスク(*)を書く方法があります。全ての列名をコンマで区切って書くこともできますが、それしか方法がないわけではありません。
出典:平成25年度 春期 データベーススペシャリスト試験 午前Ⅱ 問6
この解説に誤りを見つけたら教えてください。直して、直した記録を残します。誤りを報告する(メールが開きます)