【記述順序】
1. SELECT 列名(抽出する列)
2. FROM テーブル名(データ元のテーブル)
3. WHERE 条件式(行の絞り込み)
4. GROUP BY グループ化する列(集計の単位)
5. HAVING グループに対する条件式(集計結果の絞り込み)
6. ORDER BY 並び替える列(出力順序の指定)
【DBMSの内部実行順序】
1. FROM(対象テーブルの確定)
2. WHERE(行のフィルタリング)
3. GROUP BY(行のグループ化)
4. HAVING(グループ化した後のフィルタリング)
5. SELECT(必要な列の切り出し、集計関数の適用)
6. ORDER BY(最終結果の並び替え)
この実行順序を理解していないと、「WHERE句でグループ集計関数(SUMやAVGなど)を使ってエラーになる」といった初歩的なミスに繋がります(WHEREが実行される時点ではまだグループ化や集計が行われていないためです)。
また、集計に役立つ代表的な「集計関数(列関数)」には、以下のようなものがあります。
・COUNT:行数をカウントする。
・SUM:指定した列の値の合計を算出する。
・AVG:平均値を算出する。
・MAX / MIN:最大値および最小値を見つける。