SQL説明の厳格なルール

  1. 用語の厳格化:
  2. 処理の順序の明確化:
  3. 具体的な例の徹底:
  4. 最終確認:

良い回答の具体例

申し訳ありません。私の表現が混乱を招いてしまいました。

AVG()SUM()といった集計関数は、常にに対して計算を行います。

GROUP BY句は、集計の前にをグループ化する役割を担います。


言葉の整理:行と列

もう一度、学校の成績表の例を使って整理します。

name class subject score
Taro 1-A Math 85
Hanako 1-A Math 92
Jiro 1-B Math 78

WHERE句とAVG()の関係

あなたが指摘した「subjectMathの行を絞り込む」という部分が、AVG()関数が「行」に対して計算を行うように感じさせてしまったかもしれません。

これは、WHERE句の役割です。

WHERE subject = 'Math'は、テーブルの中からsubject列の値がMathである行をすべて選び出します。この時点で、JiroやYumiのEnglishの行は除外されます。