ホーム > データベーススペシャリスト試験 > 2011年

データベーススペシャリスト試験 2011年 午前206


次のSQL文によって “会員” 表から新たに得られる表はどれか。
問題画像選択肢画像
(正解)

解説

SQL の意図を分解

SELECT  AVG(年齢)
FROM    会員
GROUP BY グループ
HAVING  COUNT(*) > 1;
  1. GROUP BY グループ
    • 行を グループ列ごと にまとめる。
  2. HAVING COUNT(*) > 1
    • まとめられた各グループについて
      行数(会員数)が 2 件以上 あるものだけを残す。
  3. 残った各グループに対して AVG(年齢) を 1 行ずつ出力する。

会員表をグループ別に集計

グループ会員 (番号)会員数年齢平均
A003160
B001, 0052(20+40)/2 = 30
C002, 004, 0063(30+40+50)/3 = 40
HAVING で B と C だけが残る

出力される結果表

AVG(年齢)
30
40
順序は規定されていないが、2 行「30」と「40」が並ぶ表になる。

選択肢の照合

  • が「30」「40」の 2 行を持つ表。
  • 他の選択肢
    • ア: 36(全体平均)
    • イ: 40(C グループだけ)
    • エ: 60,30,40(HAVING を無視)
よって 正解は ウ
← 前の問題へ次の問題へ →

©︎2025 情報処理技術者試験対策アプリ