SQL初心者必見!コピペ禁止で効果的に学ぶ方法とは?
今日はYKが教えるSQLの習得の仕方について話したいと思います。
YKがプロジェクトに入ったときに一番始めにスキルとして教えるのがSQLになります。企画であろうと、デザイナーであろうとSQLをやってもらうのがY K流です。
0.なぜ初めにSQLをやるのか?
今のものづくりはデータで意思決定をするのが主流で、経営者の勘なんてもので、意思決定しているサービスはないと思います。チームで仕事をしているので、みんなが納得する客観的な事実がないと人がついてきません。
意見をいうときに客観的な事実と一緒に考えを述べるから、聞いている人は納得してくれます。
なので、意見を全員が事実ベースで話せるようにまずは、事実を収集する方法=インターネットのものづくりであればデータベースを触る方法というのを身につける必要があります。
もちろん、難しい分析などは、アナリティクスを専門的にやっている部署などに依頼することもあると思いますが、簡単なものは個人個人がすぐSQLで集計して、事実を収集できるようにします。集計の依頼というのは、それだけで依頼→報告というので、3日ぐらいかかってしまうことがあります。なので、個人個人で行えるとそれが数十分~1日で、行えるので、それだけでプロジェクトの開発スピードが3倍早くなります。
情報が溢れているこの世の中、自分たちでやった経験でしかプロダクトの差は付かないので、そのスピードを重視しているYK流のマネジメントでは、SQLを早くに習得してもらうことをしてもらっています。その教えるときのポイントをお話したいと思います。
1.データの場所や構造を理解してもらう
まず、SQLを習得しようと思ったときに、YKが教えるのは、データの場所と構造です。どのようにデータが生成されて、どこに保存されているのか?どのような種類のデータがあるのか?これが把握できていないと、いくら本などでSQLを知っていても、扱うことができません。ダミーデータで練習しても良いのですが、それだと実践で使えないこともあるので、いきなり本番データを触ってもらうのが良いと思っています。なので、まずはデータ周りの知識からインプットします。
2.SQLはコピペしない
データ周りの知識がついたところで、実際にSQLを書いてもらいます。今まで教えていると、教える問いには手本があるので、多くの人がコピペでSQLを書こうとします。
YKがそこでいつもいうのは、「コピペ禁止」と言って、コピペ禁止令を出します。今日言いたいことのメインになるのですが、SQLを習得してもらうには「コピペ禁止」して、実際にタイピングをしてもらうことが大事ですと言いたいだけで作った記事でもあります
3桁ぐらいの人にSQLを教えましたが、SQLがあまりできない人ももちろんいました。そして、SQLができるようにならない法則として、上達しない人は「コピペ」を初期に多用していることが多いです。一緒にエラーを解読して、明らかに無駄なものが入っていることが多かったり、条件式の in ,like ,= ,< ,>などの基本的な比較演算子の使い方が間違っていることが多いです。1つ1つの単語を理解しないでやっている証拠です。
単語の意味がわかるというのはSQLに限らず言語を学ぶ上で、大事ですので、コピペではそれが身につかないのがわかります。ただ、不思議なことに紙に書かなくてもタイピングだったら、それは身につくことが多いです。
3.いきなりSQLの完成文を書かない
SELECT
*
FROM table_sample
LIMIT 1000
まず、この文章を書いてもらいます。実際に自分の目でデータがどのように入っているのか?を確認するというのが大事です。仕様書が正しいとは限りませんので、それを自分の目で見てもらいます。IDはどういう形式で入っているのか?などを確認します
SELECT
user_id,
page_id,
FROM table_sample
LIMIT 1000
ここまで自分の目で見てから、あとは、
SELECT
yyyymmdd,
COUNT(user_id),
COUNTT(page_id),
FROM table_sample
GROUP BY
yyyymmdd
というように集計をしてもらいます。いきなり、SELECT~GROUP BYまで欠かせません。これができたら、あとは一緒に色々なパターンの例をドリルとしてこなして貰えば、ある程度SQLができるようになります。エラーが出たときは、そのエラーを検索にかければ、世の中の天才が解決策を教えてくれます。
まとめ
いかがでしたでしょうか?皆様のSQL習得の参考にしてもらえれば幸いです
インスタグラムもしておりますので、フォローよろしくお願いします