SQL

SQLで覚えるべき書き方はSELECT文だけ!SELECT文とWHERE句・集計関数をマスターしよう!

こんにちは!デジタルマーケターのウマたん(@statistics1012)です。

SQLが使えるようになると、データベースから自分で自由にデータを引っ張ってくることができるので便利!

とは言え、

SQL習得するの難しそう・・・
覚えなくちゃいけないことがたくさんあるんでしょー

いえいえ、実はSQLに必要なのは基本的にSELECT文だけ!

他の言葉は、あくまで修飾語なんです。

とりあえず、SELECT文さえ抑えちゃえばとりあえずはSQLマスター!笑

データベースにデータを挿入したり加工したりする場合は、他の命令文も覚える必要ありますが、デジタルマーケターであればデータを引っ張ってくるだけなのでSELECT文だけで良い!

そんなこんなでとりあえずSQL文マスターしちゃいましょう!

この記事では、SQL初心者向けに書き方に関してまとめていきます!

これだけ覚えておけば大丈夫!SELECT文の使い方からです。

SELECT文の使い方

ここで下のようなテーブルがあったとしましょう!

名前 性別 購入金額
ウマたん 1000
ロボたん 2000
デジ子 4000
デジ郎 3000

このテーブルでは、顧客の購入フローを管理しています。

簡易的に名前と性別、売上という列を入れました。

さて、まずはデータを取り出してみましょう!

SELECT * FROM テーブル名

SELECTで欲しい情報を指定し、FROMでどこから持ってくるか明記する。

基本的にはこれだけです。

この時、*を使うと、全ての情報が抽出されます。

今回の場合、テーブル名はorder_tebleなので、このように記述してあげましょう!

SELECT * FROM order_table

結果はもちろん全ての行・列が取り出されるのでこのようになりますね!

名前 性別 購入金額
ウマたん 1000
ロボたん 2000
デジ子 4000
デジ郎 3000

名前だけ取り出したい!そんな時は名前を指定してあげましょう!

SELECT 名前 FROM order_table

これを実行すると以下のような結果が返ってきます。

名前
ウマたん
ロボたん
デジ子
デジ郎

簡単ですね。

WHERE句の書き方

さて、続いて、男性だけの売上が知りたいとします。

この時も基本的には売上を引っ張ってくるということを意識して、まずは以下のように記述しちゃいましょう!

SELECT 名前、購入金額 FROM order_table

このように記述した場合、全員分の購入金額が以下のように取り出されますね。

名前 購入金額
ウマたん 1000
ロボたん 2000
デジ子 4000
デジ郎 3000

しかし、この場合は男性だけの売上が知りたい!

そんな時はWHERE句を使います。

SELECT 名前、購入金額 FROM order_table
WHERE 性別=”男”

WHERE句のあとに条件を持ってくることである一定のセグメントに絞ることができます。

このように絞ると、こんな感じの結果になりますね。

名前 購入金額
ウマたん 1000
ロボたん 2000
デジ郎 3000

集計関数の書き方

せっかく男だけの売上が取れたので合計してみましょう。

合計値を出すときはSUM関数を使います。

SELECT SUM(購入金額) AS 合計購入金額 FROM order_table
WHERE 性別=”男”

結果は以下のようになりますね。

合計購入金額
6000

ASでSELECTで引っ張ってきた値に対して分かりやすい名前を付けることができます。

また平均を求めたい時は、AVG関数を使いましょう!

SELECT AVG(購入金額) AS 平均購入金額 FROM order_table
WHERE 性別=”男”

これで男性の平均購入金額が求められました!

平均購入金額
2000

この時、集計結果から名前がなくなっていることに注意しましょう。

集計関数を用いて列を引っ張ってくる場合、他の列名にも集計関数を用いないとエラーが起きます。

GROUP BYの書き方

続いて、頻繁に使うGROUP BY句の書き方について見ていきましょう!

名前 性別 購入金額
ウマたん 1000
ロボたん 2000
デジ子 4000
デジ郎 3000

この時、WHERE句と集計関数を用いてこのように記述すると

SELECT SUM(購入金額) AS 合計購入金額 FROM order_table
WHERE 性別=”男”

男だけの合計購入金額が出てきます。

女性の合計金額を算出したい時はWHERE句の条件のところを女にすれば良いですね。

ただ、いちいち性別ごとにWHERE句で指定するのは面倒くさい。

そんな時は、GROUP BY句を使いましょう!

SELECT 性別、SUM(購入金額) AS 合計購入金額 FROM order_table
GROUP BY 性別

結果は以下のようになります。

性別 合計購入金額
6000
4000

GROUP BYを使うと指定した列に入っている要素ごとの集計結果を算出してくれます。

実務では、日別の売上・月別の売上・年代別の売上など、条件を絞った上での集計が多くなりますのでGROUP BYは必須の関数です。

GROUP BYを使って上手くデータを集計していきましょう!

SQLの書き方 まとめ

いかがだったでしょうか?

SQLって実はめちゃくちゃ単純なんです!

是非マスターして、データベースから欲しいデータをゴリゴリ引っ張ってこれるようになりましょう!

SQLはSELECT文さえ覚えてしまえばオーケー!

SQLについて勉強するなら以下の本が非常にオススメ!

SQLのオススメ本をこちらでまとめているので勉強したい方は是非見てみてください!

SQLを最速でマスターできるオススメ本と勉強方法!こんにちは! 都内でデジタルマーケターとして働くウマたん(@statistics1012)です。 大学院時代はRで主にデータ...