SQL havingの使い方

こんにちは、r.matsumotoです。
私は最近SQLを学習中なのですが、
そこで少し誤解していたところがあったので今回はそれについて紹介してみたいと思います。

会社名ごとに年齢30歳以上の社員の数を出すSQLを書くという問題があり、私は最初このように書いていました。

実行結果は正しかったのですが、答えのSQLとは書き方が違っていて色々と調べていくうちにhavingの意味について理解することができました。

havingの使い方

私は最初select句に集計関数があったらhavingを使うというような曖昧な認識でhavingを使っていたのですが、

どうやら違うらしく、havingは集計関数の集計結果についての条件を書くようで上の文だと一回会社名ごとの人数を集計した後havingで30歳以上の社員を絞り込んでいるようです。

ですが、この条件自体は集計する前にwhere句で書いても同じなので

このように書くのが正しいようですね。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です