問題
SQL の構文として,正しいものはどれか。
選択肢
- 1SELECT 注文日, AVG(数量) FROM 注文明細
- 2SELECT 注文日, AVG(数量) FROM 注文明細 GROUP BY 注文日
- 3SELECT 注文日, AVG(SUM(数量)) FROM 注文明細 GROUP BY 注文日
- 4SELECT 注文日 FROM 注文明細 WHERE SUM(数量) > 1000 GROUP BY 注文日
正解
2. SELECT 注文日, AVG(数量) FROM 注文明細 GROUP BY 注文日
詳しい解説を見る解説を閉じる
解説
集合関数(AVG など)と通常の列を同時に選択する場合は、その列を GROUP BY で指定する必要がある。イは注文日でグループ化し各日の数量平均を求める正しい構文である。アは GROUP BY がなく、ウは集合関数の入れ子が不可、エは WHERE 句に集合関数を書けないため誤り。よってイが正しい。(出典: 平成21年度 秋期 基本情報技術者試験 午前 問33)
一問一答
科目A 180問+科目B 60問