※過去ブログの転記
構文記述例
SELECT field1, field2 FROM tableA, tableB AS tblB LEFT JOIN tableC ON tableC.field3 = tblB.field2 WHERE field1 = 1 AND field2 = 2 AND field4 LIKE '%aaa%' GROUP BY field1, field2 ASC ORDER BY field1 DESC, field2 LIMIT 5 OFFSET 10
構文記述順
- SELECT
- FROM
- JOIN
- WHERE
- GROUP BY
- HAVING
- ORDER BY
- LIMIT
要点
実行順序
- FROM
- JOIN
- WHERE
- GROUP BY
- HAVING
- SELECT
- DISTINCT
- ORDER BY
- LIMIT
要点
- ORDER BYで集計してからHAVINGで条件指定するよりWHERE句の時点で抽出した方が良い
- WHEREではSELECTでのエイリアスは使用できないがORDER BYでは使用できる
- DISTINCTは実行した結果の中から全ての値が一致する重複したレコードを破棄する
- GROUP BYは実行した結果を指定されたカラムでグループ化する
*1:テーブル構成や結合は適当です...