Thank you for visiting my page 😍✨
Follow me 🤗✨

情報🏢

HAVING(SQL)

SQL

HAVING

「HAVING」とは、グループ化した後に条件を定めて対象を絞ることができます。

条件を定めて絞るという意味では「WHERE」と同じですが、異なるのはタイミングです。違いをきちんと理解しましょう。

WHERE  ・・・ グループ化する前のデータを用いてに条件を絞る
HAVING ・・・ グループ化の後にデータを用いて条件を絞る

HAVINGのPOINT🤗

①  HAVINGを用いたSQLの構文の書き方は下記の通りです。

SELECT 集計関数
FROM テーブル名
WHERE 条件
GROUP BY カラム名,カラム名
HAVING 条件

② 上記の構文の解釈の順番は下記の通りです。

①  FROM データを取得するテーブル名を指定します。
② WHERE テーブル名から条件を指定し対象を絞ります。
③   GROUP BY WHEREで絞られた条件の中で、グループを分けをします。
④  HAVING グループ分けした後のデータに対して、条件を指定し対象を絞ります。
⑤ SELECT グループ化したカラム名と集計関数(COUNT、SUM、AVG 、MAX、MIN)の摘要結果を取得します。

※ SQLではコードの上から順に適用される訳ではないので気をつけましょう

 


実際の例文をみてみましょう😄♫

データベース【purchases】

id human name category price date
1 けんと キンちゃんカレー 食費 500 2022-04-01
2 ゆーた おにぎり(キンちゃん味) 食費 150 2022-04-01
3 けんと キンちゃんアイス 食費 200 2022-06-16
4 けんと CDキンちゃん 音楽 1000 2022-06-16

 


【テキストエディタ】
SELECT SUM(price),  date
FROM purchases
WHERE human = “けんと”
GROUP BY  date
HAVING SUM(price) > 1000
;


【実行結果】

SUM(price) date
1200 2022-06-16

学習の感想

blog作成時間6:00スタート 6:45エンド

所要時間45分

今日はHAVINGを学習しました😊

WHEREと同じだけどタイミングが違うっていうね💡

WHEREの意味をちゃんと理解していれば今回は簡単だったかもしれないですね💡

ちなみにHAVINGの英単語の意味は「持っている」です。

最終的に持っているデータはこれです。的な意味で名付けられたのかな?

そしてWHEREの意味はは「どこ」だから、、、

どこ(WHERE)のデータを使って、最終的に持っている(HAVING)データはこれです💡

的な感じで覚えると覚えやすいかも💡(強引?ww)

それでわっ☺️

いつか誰かの誰かのためになりますように☺️✨