2023.04.09
【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 “一郎%”この場合、山田一郎は抽出されず、一朗太は抽出される |
NOT | WHEREのあとに使うことで条件を否定する | WHERE NOT price>100(WHERE price <=100 と同じ) |
具体例
上記は、初歩の初歩ですが最低これだけわかれば、かなりのデータ分析は1人で行えるようになると思っています。
これだけでは、分かりにくいので、具体例を活用しながら説明していきたいと思います。
上の説明だけでは、分からないと思うので、ここでは雰囲気を知る目的でなんとなく理解して頂ければと思います。
user
id | name | age |
1 | 一郎 | 10 |
2 | 二郎 | 20 |
3 | 三郎 | 30 |
4 | 四郎 | 40 |
purchase
user_id | date | sum |
2 | 3/2 | 250 |
3 | 2/25 | 300 |
1 | 1/8 | 500 |
問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
ご存じの方も多いと思いますが、一番最初はProgateがおすすめです。
おすすめできるポイントは3つあります。
1つ目は、価格です。
無料で最初の雰囲気の部分は、学べる上に全てのプランを利用できるプラス会員になったとしても月額1,078円で利用できるので、非常におすすめです。
2つ目は、エンタメ性です。
プログラミングの学習となると、とっかかりにくいイメージがありますが、キャラクターが説明してくれたりレベル制度があったりとゲーム感覚で楽しむことが出来ます。
3つ目は、実践しながら学べる点です。
持論ですが、SQLに限らずプログラミングは理解するのも大切ですが、それ以上に自分で実際に書いてみるのが一番良い学習になると思っているため、Progateの学習方法は、ある知識を説明されたらそれをすぐ使ってみるというフローになっているので、とても学習効率が高くおすすめです。
集中演習 SQL入門 Google BigQueryではじめるビジネスデータ分析
参考:集中演習 SQL入門 Google BigQueryではじめるビジネスデータ分析 (できるDigital Camp) | 木田 和廣 |本 | 通販 | Amazon
こちらは、エンジニアでない人向けに書かれたデータ分析の本になります。この本の良いところは、体系的にまとまった演習問題が230問ついているため、演習を積んで実務への自信が付けられる点です。自分は、Progateのあとにこれをやって作業速度の効率化と曖昧な知識の確認を行いました。
実践
やっぱり一番は実践を行っていくことだと思います。データ分析は、何かしらビジネスに繋がる示唆を生むために行うものなので、仮説を立てる段階から情報収集までを地道に積み重ねることで成長すると考えています。基礎がある程度固まったら実践の中で成長していきましょう!
まとめ
ここまで、SQLについて書いてきましたが、ノンエンジニアの方も触れると業務の幅も広がると思うので、是非この機会に勉強してみてください!
無料相談はこちら