集約関数とは?
集約関数とは、複数行をまとめて1つの値を返す関数。COUNT・SUM・AVG・MAX・MINがあり、GROUP BYで指定した列の値ごとにグループを作って適用する。グループに対する絞り込みはHAVING句で書き、行に対する絞り込みのWHERE句と役割が分かれる。
応用情報技術者試験の過去問では1回出題されています。
しゅうやくかんすう
集約関数の意味
複数行をまとめて1つの値を返す関数。COUNT・SUM・AVG・MAX・MINがあり、GROUP BYで指定した列の値ごとにグループを作って適用する。グループに対する絞り込みはHAVING句で書き、行に対する絞り込みのWHERE句と役割が分かれる。
集約関数の具体例
部門ごとの平均給与を出しつつ在籍3人未満の部門を除くなら、GROUP BY 部門コードでまとめ、HAVING COUNT(*) >= 3 と書く。特定年度の入社者に限る条件は行単位なのでWHERE句に置く。
集約関数は試験でどう引っ掛けられる?
COUNT(*)は行数を数えるがCOUNT(列名)はNULLを除いて数えるため値が食い違う。AVGもNULLを除外して平均するので、NULLを0とみなした平均とは一致しない。WHEREに集約関数は書けない。
集約関数と関連する用語
集約関数が出た過去問
更新可能なビューを作成するSQL文はどれか。ここで、SQL文中に現れる基底表は全て更新可能とする。
正解:CREATE VIEW 高額商品(商品番号, 商品名, 商品単価) AS SELECT 商品番号, 商品名, 商品単価 FROM 商品 WHERE 商品単価>1000
要点:更新可能ビューは単一表の選択と射影に限られる
ビューが更新可能であるためには、ビューの各行が基底表の1行に一意に対応し、更新内容を基底表へ一意に反映できる必要がある。単一の表からWHERE句で行を絞り、列をそのまま射影しただけのビューはこの条件を満たすので更新可能である。DISTINCT、GROUP BY、集約関数を含むビューは元の行との対応が失われるため更新できない。
出典:令和5年度 秋期 応用情報技術者試験 午前 問28(IPA)
最終更新:2026-08-25/解説は資格暗記が独自に作成しています。 過去問の出典は各問題に記載のとおりです。