SQL

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

PC
記事内に商品プロモーションを含む場合があります
ウマたん
ウマたん
当サイト【スタビジ】の本記事では、SQLでマスターしておきたい基本的な構文SELECT文について見ていきます!SQLでは、基本SELECT文ができて後はそれにWHERE句や集計関数そして他テーブルのJOINなどが出来れば不自由しません!

こんにちは!

データサイエンティストのウマたん(@statistics1012)です。

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

とは言え、

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

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

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

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

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

また、データサイエンティストが使うのはPythonのイメージがあるかもしれないですが、実はSQLを使う時間の方が長いんです!

機械学習を使う時も前処理やデータ加工にめちゃくちゃSQLを使います!

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

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

この記事でお伝えしていることだけ覚えておけば基本は大丈夫です!

以下のYoutube動画でも分かりやすく解説しているので是非見てみてください!

ちなみに僕のUdemy講座でSQLのデータ加工集計100本ノックを提供していますので、ぜひ興味のある方は挑戦してみてください!

【超実践】SQLのデータ加工集計100本ノック!BigQueryで学ぶSQLの超実践講座!

SQL画像
【時間】4.5時間
【レベル】初級〜中級

SQL✕データ集計・加工処理の100問に挑戦して腕試ししたいならこれ!今なら購入時に「VGRBCQDF」という講師クーポンコードを入れると94%OFFになりますのでぜひご受講ください!

\30日以内なら返金無料/このコースを見てみる

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、すごく便利だな!
ウマたん
ウマたん
一文で済むのはありがたいよね!

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

SQLの書き方 まとめ

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

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

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

ウマたん
ウマたん
SQLをマスターして色んなところにあるデータをグリグリいじりまくろう!!

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

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

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

SQL
SQLを最速でマスターできる勉強方法とオススメ本・サイト当サイト【スタビジ】の本記事では、SQLを勉強するのにオススメな本と勉強法についてまとめていきます!SQLはデータサイエンスの基本であり必ずマスターしておかなくてはいけない言語です。早い段階から手を動かすことで理解が深まりますよー!...

また当メディア「スタビジ」が運営しているスクール「スタビジアカデミー(スタアカ)」では、SQLのもっと踏み込んだ実践について学べるので是非チェックしてみてください!

スタアカ以外にも多くのSQLを学べるスクールがあります。以下にまとめているので是非チェックしてみてください!

SQL スクール
SQLが学べるプログラミングスクールおすすめ6選!【データサイエンティストが選ぶ】当サイト【スタビジ】の本記事では、SQLを学ぶことのできるプログラミングスクールについてまとめていきます。SQLは実務で使う頻度の高い重要なスキルなのですが、意外と勉強できる環境がないんです。スクールで実践的な力をつけていきましょう!ぜひ参考にしてみてくださいね!...

自分で環境構築するのが面倒な人はクラウドサービスのBigQueryの利用をおすすめします。下記の記事で解説しているのでチェックしてみてください。

bigquery
BigQueryとは?サービス内容やできること4つを紹介!当サイト【スタビジ】の本記事では、BigQueryついて紹介します。サービス内容やBigQueryで出来ること、サービスを利用する際の注意点まで徹底的に解説していきます!本記事を読んでBigQueryによるデータ分析を始めていきましょう!...
スタビジアカデミーでデータサイエンスをさらに深く学ぼう!

スタアカサービスバナースタビジのコンテンツをさらに深堀りしたコンテンツが動画と一緒に学べるスクールです。

プレミアムプランでは私がマンツーマンで伴走させていただきます!ご受講お待ちしております!

スタビジアカデミーはこちら