はじめに PostgreSQL始めました。 SQLを学ぶ過程でWhere句とHaving句の違いがわからずに悩んだ時期があったので、その時感じたことを書いておきます。 環境 MacOS 10.10.5 PostgreSQL 9.4.5 Where句でもHaving句でも同じ結果が出るけど何が違うんだろう? 結論から言うと Where句はselect句の結果からwhere句で指定した抽出条件を実行する Having句はGroupBy句でグルーピングした結果からHaving句で指定した抽出条件を実行する という違いがあります。 同じ結果が出ることを確認 PostgreSQLのチュートリアルにあるデータベースを使います。手を動かして確認したい方はこちらを見てデータベースを用意していただければと思います。 今回使用するカスタマーテーブルは以下のようになっています。 select * from cu
![[SQL] Where句とHaving句の違い | DevelopersIO](https://cdn-ak-scissors.b.st-hatena.com/image/square/d9d7a9e19a3c5979fc0b83efa7beeec666f705bb/height=288;version=1;width=512/https%3A%2F%2Fdevio2023-media.developers.io%2Fwp-content%2Fuploads%2F2015%2F07%2Fsql.png)