書き順
SELECT
FROM
JOIN
ON
WHERE
GROUPBY
HAVING
ORDERBY
LIMIT
実行の順序
FROM(どのテーブルかを選ぶ)
ON(テーブル同士がどのカラムで結合するかを選ぶ)
JOIN(結合するテーブルを選ぶ)
WHERE(選択する行を選ぶ)
GROUPBY(行ごとにまとめる。どの列でまとめるかを決める)
HAVING(GROUPBYでまとめたもののうち条件に合うものを抽出する)
SELECT(結果に出すカラムを選ぶ)
DISTINCT(重複をなくして結果を出す)
ORDERBY(順番を決める。どのカラムを昇順or降順にするか)
TOP(LIMIT)(上位何件を結果として出すか)