2023.04.09

Web集客

【SQL】分析で使えるべき最低限のSQLスキル!

この記事では、マーケターが1人でデータベースからデータの収集から分析結果を出すまでを出来るようになるために必要なSQLの知識を説明したうえで実際の勉強方法について書きます。この記事を読めば、エンジニアとのコミュニケーションコストを削減できたりと多くのメリットがあるので、是非ご一読ください。

SQLとは?

SQLの具体的な利用シーン

分析ツールは、Google Analyticsなどがありますが、それだけでは取り切れない情報を収集するためにデータベースの作成を行ったり、データベースにあるデータを取り出したりするためにSQLを利用します。SQLだとオリジナルのデータベースが作成可能なので、取りたい情報を取ることが出来るためです。

SQLの最低限知っておくべき用語

SQLで最低限知っておいた方が良い用語について表形式でまとめたので、こちらを参考にしてください。

用語意味
データベースデータベースとは、大量のデータを保管しておく倉庫のようなものです。
テーブルテーブルとは、データベース内に保存されたデータのうち1つの表を示しています。エクセルやスプレッドシートでいうと、1つのシートのことです。
カラムカラムとは、テーブルの列にあたるものです。
レコードレコードとは、テーブルの行にあたるものになります。
フィールドフィールドは、テーブルのエクセルやスプレッドシートでいうところのセルにあたるものです。

簡単な仕組み

SQLで具体的に出せる指示は、主に下記表のようになっています。

今回の記事では、主に情報を抜き出すselect文について書いていきます。

意味
create文テーブルや制約条件の定義を行う
alter文テーブルの設定の変更を行う
drop文テーブルの削除を行う
insert文テーブルにレコードを挿入する
delete文テーブルにあるレコードを削除する
update文レコードを上書きする
select文レコードを抽出する

参考:SQLとは – 意味をわかりやすく – IT用語辞典 e-Words

マーケターがSQLを使えるようになるメリット

この章では、マーケター自らSQLを使えるようになるメリットをデータ分析の時系列順の情報収集の前段階、情報収集段階、分析段階の3つに分けて書いていきます。

情報収集の前段階

情報収集の前段階にあるメリットを分析がもたらす効果と実現可能性に分けて、書きます。

まず、分析がもたらす効果についてですが、そもそも分析とは何かしらの仮説がありその仮説の検証の為に情報を収集、加工します。しかし、逆に調べられることが何かということをデータベースを眺めることで仮説が思いつくこともあります。例えば、今まで顧客を新規顧客、既存顧客にセグメント分けしてマーケティング戦略を立てていたが、データベースを眺めてみると顧客の住んでいる地域の情報があって都会と田舎で分けた方が意味のある示唆が出せるなどの場合があると思います。

その次に、実現可能性についてです。ここでお伝えしたいことは、そもそも調べたいことが調べられない場合があるということと工夫すれば調べられることが発見できる場合です。

まず、調べられない場合におけるメリットは、自分で早期にそれを知れるということと新たにそういうデータを取るべきだという主張が出来ることです。

次に工夫すれば調べられる場合は2つあるのでそれぞれ説明します。

1つ目は、例えば日別平均客単価が知りたかったとします。それをエンジニアに伝えるとその情報がない場合、おそらく無いので不可能と伝えられると思いますが、実は日別の客数と日別の売上が分かっているため、売上÷客数を行えば出るというパターンがこれに相当します。

2つ目は、google analyticsでは取れていないから収集できていないものもデータベースを参照すれば調べられるなど、情報収集の選択肢が増えるということがあげられます。

このように情報収集の前段階でもかなりメリットがあることが分かると思います。

情報収集段階

情報収集段階では、主にコミュニケーションコストがかからないことが上げられると思います。自分で調べたいことが出来たときに、さっと調べることが出来ればスムーズに作業が進みます。調べていくうちに仮説が進化、転調してまた新たに調べたいことが出てくることも頻繁にあると思うので、この効果は比較的大きいと個人的には思っています。また、エンジニアに依頼するとコストがかかるので、そこをカットできるのも大きな魅力だと思います。

分析段階

これは、正直最初のうちはあまり関係ない話ではありますが、大量のデータを扱う場合、エクセルやスプレッドシートだと平均を取ったりというデータの加工を施す場合PCが重すぎて、実行に時間がかかったりすることがあります。しかし、SQL上でその操作を終わらせてしまうと早く済んだりするので、時短になります。しかし、そこまでSQLの知識をつけるのは最初は面倒だと思うので、使っていくうちに覚えていけば良い気がしますし、自分はそうやって勉強しました。

最低限覚えておけば良い知識

ここでは、分析を自分で行うために最低限覚えておけば良い知識を紹介します。

ただこれだけでは、足りないのでSQLがどういうことをやるものなのかといった雰囲気を知っていただければと思います。

SELECT文とその周辺知識

SELECT選んだ列のデータを抽出すもの
FROMデータベースの中の1つのテーブルを指定するもの
WHERE条件を与えて、抽出するものに制限を与えるもの
GROUP BYあるテーブルにあるレコードを複数のグループごとに分割するもの
HAVINGグループの値に対して、条件を与えるもの(HAVING句の中でのWHERE句というイメージです)
JOIN A ON Bあるテーブルとあるテーブルをつなぐもの
LIMIT取り出すデータ数に制限を設けるもの
*(アスタリスク)全ての列を指定するもの

演算子

演算子名意味具体例
<,<=,>,>=比較演算子という主にwhere句で使う大小比較に用いるものWHERE sum>1000
LIKEある文字列を含むデータを取得したいときに使う演算子WHERE name LIKE “一郎”
%(ワイルドカード)前方や後方にその文字列があることを条件として付与するWHERE name LIKE “一郎%”この場合、山田一郎は抽出されず、一朗太は抽出される
NOTWHEREのあとに使うことで条件を否定するWHERE NOT price>100(WHERE price <=100 と同じ)

具体例

上記は、初歩の初歩ですが最低これだけわかれば、かなりのデータ分析は1人で行えるようになると思っています。

これだけでは、分かりにくいので、具体例を活用しながら説明していきたいと思います。

上の説明だけでは、分からないと思うので、ここでは雰囲気を知る目的でなんとなく理解して頂ければと思います。

user

idnameage
1一郎10
2二郎20
3三郎30
4四郎40

purchase

user_iddatesum
23/2250
32/25300
11/8500

問1

userテーブルからnameカラムを取り出す

問2

userテーブルから30歳以上の人の全データを取り出す

問3

purchase テーブルにuserテーブルを結合させて、全データを抽出する

回答1

SELECT name

FROM user;

一言

順序も大切なので、覚えておいてください。

回答2

SELECT *

FROM user

WHERE age>=30;

一言

SELECT*でそのテーブル内のデータ全てを抽出するということになります

回答3

SELECT *

FROM purchase

JOIN user

ON purchase.user_id=user.id ;

一言

JOINは、

JOIN 結合させるテーブル 

ON 元のテーブルのあるカラム=結合させるテーブル元のテーブルのカラムと一致するカラム

で実行できます。

おすすめの勉強法3選

ここまで色々簡単な説明をしてきましたが、実際に自分がやって良かった勉強法を3つお伝えできればと思います。

Progate

参考:https://prog-8.com/

ご存じの方も多いと思いますが、一番最初はProgateがおすすめです。

おすすめできるポイントは3つあります。

1つ目は、価格です。

無料で最初の雰囲気の部分は、学べる上に全てのプランを利用できるプラス会員になったとしても月額1,078円で利用できるので、非常におすすめです。

2つ目は、エンタメ性です。

プログラミングの学習となると、とっかかりにくいイメージがありますが、キャラクターが説明してくれたりレベル制度があったりとゲーム感覚で楽しむことが出来ます。

3つ目は、実践しながら学べる点です。

持論ですが、SQLに限らずプログラミングは理解するのも大切ですが、それ以上に自分で実際に書いてみるのが一番良い学習になると思っているため、Progateの学習方法は、ある知識を説明されたらそれをすぐ使ってみるというフローになっているので、とても学習効率が高くおすすめです。

集中演習 SQL入門 Google BigQueryではじめるビジネスデータ分析

参考:集中演習 SQL入門 Google BigQueryではじめるビジネスデータ分析 (できるDigital Camp) | 木田 和廣 |本 | 通販 | Amazon

こちらは、エンジニアでない人向けに書かれたデータ分析の本になります。この本の良いところは、体系的にまとまった演習問題が230問ついているため、演習を積んで実務への自信が付けられる点です。自分は、Progateのあとにこれをやって作業速度の効率化と曖昧な知識の確認を行いました。

実践

やっぱり一番は実践を行っていくことだと思います。データ分析は、何かしらビジネスに繋がる示唆を生むために行うものなので、仮説を立てる段階から情報収集までを地道に積み重ねることで成長すると考えています。基礎がある程度固まったら実践の中で成長していきましょう!

まとめ

ここまで、SQLについて書いてきましたが、ノンエンジニアの方も触れると業務の幅も広がると思うので、是非この機会に勉強してみてください!

無料相談はこちら

著者情報

writermalnaブログ編集部webマーケター / データアナリスト
Facebook・InstagramをはじめとするSNS広告からSEO対策など、マーケティングに関する様々な情報を発信しています。

関連記事タグをクリックでカテゴリページを開きます

malnaのマーケティングについて

弊社ではメディアやSNSなど総合的な支援が可能です。
媒体ごとに違うパートナーが入ることもなくスピーディな意思決定が可能です。
ご不明点や不安な点等ございましたらお気軽にお問い合わせください。

サービス資料はこちら 詳しく見る