
WHEREとHAVINGの違い
公開日:2021年07月30日
更新日:2022年09月29日
- WHERE:「GROUP BY」の前に記述する条件
- HAVING:「GROUP BY」の後に記述する条件
「GROUP BY」を使用しなければ以下のSQL文はどちらも同じ結果を返します。
select * from テーブル名 where id=2;
select * from テーブル名 having id=2;
SELECT文は記述順に注意
SELECT文は「SELECT」「FROM」「WHERE」「LIMIT」等を組み合わせて記述します。これらのキーワードの記述順を間違えるとエラーになります。
SQLの記述順
- SELECT:フィールドを指定
- FROM:テーブルを指定
- JOIN:結合するテーブルを指定
- ON:結合する条件
- WHERE:条件でレコードを絞り込み
- GROUP BY:指定したフィールドでグループ化
- HAVING:グループ化後のテーブルに対して条件を指定して絞り込み
- ORDER BY:フィールドを指定して並び替え
- LIMIT:取得するレコードを制限
SELECT文の処理順
- FROM:テーブルを指定
- ON:結合する条件
- JOIN:結合するテーブルを指定
- WHERE:条件でレコードを絞り込み
- GROUP BY:指定したフィールドでグループ化
- HAVING:グループ化後のテーブルに対して条件を指定して絞り込み
- SELECT:フィールド指定
- ORDER BY:フィールドを指定して並び替え
- LIMIT:取得するレコードを制限
同じカテゴリーのコンテンツ