非エンジニアがprogateに課金してSQLを勉強してみた
10月後半からオンラインでプログラミングが学べるサイト「progate」で、SQLの講座が開設されたので、これを利用して勉強してみました〜。
こんな感じで全問解きました!
(JSとかpythonとかRubyは昔暇つぶしで無課金でできる範囲で遊んでた)
レッスン修了にかかる時間の見込みは3時間と記載があったのですが、初めてSQLを触る私でも2時間ほどでサクッと終えることができました。
progateでSQL、どこまで勉強できるん?
progateで学んだ内容としては
- そもそもSQLって何ができるものなの?
- WHERE/SELECT/FROMなどの使い方
- 比較演算子
- NOT演算子
- AND・OR演算子
- データの簡単な加工(ORDER BYとかLIMITとか)
- 四則演算
- 集計関数(SUMとかAVGとかMAX/MINとか)
- データのグループ化(GROUP BYとか)
などなど、おそらくSQLの超初歩的なところです。
少なくとも業務でSQLを使える!と言えるようになるためには、上記はもちろんJOIN ONとかも使えるようになっていた方がいいと思います。実務でSQLを触ってみて感じました。
(追記2018/05/26)
エクセルとかスプレッドシートを普段からいじっていれば、「あーこういう感じね」とすんなり頭に入ってくると思います。
マーケターになりたい私がSQLを勉強する意味
でも、別にエンジニアさんにDBからデータを出して貰えばいいんじゃない?
わざわざマーケターがSQLを勉強するのって無駄じゃない?
と思う方もいるかもしれません。
私がマーケターでもSQLを使えなきゃあかん!と感じたのは、インターンとして働いていた時のことです。
仕事中に検証したい仮説があったとしても、自分だけでデータを集めて検証することはできませんでした。
ユーザーデータはもちろんデータベースに入っていますし、そうでないデータ(Google Analyticsやその他Appsflyerなどの計測ツール)を見るだけでは限界があります。
- 必要なデータを毎回エンジニアさんにお願いしなければならず、エンジニアさんの開発時間を奪ってしまうこと
- サクッと簡単に仮説検証したい、みたいなレベルの時でも、すぐにそれをできないもどかしさ
- チケットを立ててエンジニアさんに依頼して…みたいな依頼にかかる時間の無駄さ(マーケターにとってもエンジニアさんにとっても!)
私は「これってもしかしてこうだからこうなってるんじゃない!?ならこれをこうすればこうなるんじゃないか!」(わや)みたいなポッと出の仮説をすぐに検証したいタイプなので(というかサクッと検証して、違うなら違うでとっとと先に行きたい)、それができるようになるために、SQLをサクッと覚えてしまおう、と思いました。
qiitaでも「マーケティング担当者にSQLを完全マスターさせた話」としてバズってる記事があり、エンジニアさんからマーケに求められている・期待されているスキルでもあるのかなと思います。
ビズリーチさんでも、SQLを使いこなすマーケター/ディレクターさんが活躍している、という記事を読みました。
SQLを使える非エンジニアは少ない?
おそらくSQLを使用できるマーケターはそれほど多くないと思います。
会社の文化にもよるのかなあ、とは思いますが、非エンジニアの中で「自分だけはSQLを使うことができる!」となれば自分にしかできない仕事が生まれてくると思います。
他の人をガンガン巻き込んで、勉強会をしたりみんなが使えるように仕組みを作っていくと施策のPDCAをより早く回せるようになったり、もっと大きなメリットが得られるようになってくるのかなとも思います。
あまりマニアックなところまで勉強するつもりはありませんが、引き続き別のワークブックを使って勉強していきます(一気に勉強して、入社までに忘れてしまっても困るので、これから毎月ちょっとずつ取り組んでいきます)。
勉強することが目的にならないように、「どういう場面でSQLを使うか」を意識して、いらないな、と思ったところは省略して効率的に勉強していきたいと思います。
⬇︎追記2018/05/26
仕事でSQLを少し使うようになっていますが、よく使う構文は限られてくるのかなあ、と思っています。私はスプレッドシートでよく使うSQL文をストックしまくっています!なので、SQLかけないよ〜と言う人は、業務でよく使うであろうSQL文をエンジニアさんにレクチャーしてもらう、とかでもいいかもしれないな、と思いました。