ホーム > データベーススペシャリスト試験 > 2011年
データベーススペシャリスト試験 2011年 午前2 問06
次のSQL文によって “会員” 表から新たに得られる表はどれか。


ア:
イ:
ウ:(正解)
エ:
解説
SQL の意図を分解
SELECT AVG(年齢)
FROM 会員
GROUP BY グループ
HAVING COUNT(*) > 1;
- GROUP BY グループ
- 行を グループ列ごと にまとめる。
- HAVING COUNT(*) > 1
- まとめられた各グループについて
行数(会員数)が 2 件以上 あるものだけを残す。
- まとめられた各グループについて
- 残った各グループに対して AVG(年齢) を 1 行ずつ出力する。
会員表をグループ別に集計
HAVING で B と C だけが残る。
出力される結果表
順序は規定されていないが、2 行「30」と「40」が並ぶ表になる。
選択肢の照合
- ウ が「30」「40」の 2 行を持つ表。
- 他の選択肢
- ア: 36(全体平均)
- イ: 40(C グループだけ)
- エ: 60,30,40(HAVING を無視)
よって 正解は ウ