集約関数とは、SQLの一部の数学関数です。

1. 和

現在会社で働いている全ての従業員の子供の合計数が知りたいと仮定しましょう。

SELECT SUM(emp.Kids_number) AS nbOfKids
FROM Employee AS emp
WHERE emp.End IS NULL

以下のテーブルが取得できます。

{{h}}
{{r}}

2. 平均

現在会社に勤めている従業員の給料の平均値を得たいとしましょう。

SELECT AVG(emp.Salary) AS averageSalary
FROM Employee AS emp
WHERE emp.End IS NULL

以下の表が取得できます。

{{h}}
{{r}}

3. 計数

会社の部署の数を知りたいと仮定しましょう。

SELECT COUNT(dep.ID) AS nbOfDepartments
FROM Department AS dep 

以下の表が取得できます。

{{h}}
{{r}}

まとめ

SQLが提供する集約関数をどのように活用するか学びました。MAX()MIN()は、同様に機能します。MAX()を適用することで、列内での最大値を抽出するのに対してMIN()は、最小値を抽出します。関数パラメーターは、計算がされなければならない列(属性)を意味します。初心者は、時々SUM()COUNT()を混同します。SUM()は、与えられた列内の値の和を計算するのに対して、COUNT()は、SQLクエリ結果内のNULL値を含まないレコード数を数えます。

COUNTに関しては、ほとんどの場合、表[テーブル]のあるレコードを得たいので、列は除外します:

SELECT COUNT(*) AS nbOfDepartments
FROM Department AS dep