Gunosy Tech Blog

Gunosy Tech Blogは株式会社Gunosyのエンジニアが知見を共有する技術ブログです。

非エンジニアが最速でSQLをマスターする方法

こんにちは、データ分析部の石塚です。

Gunosyではエンジニア以外の職種でもSQLを叩いて自らデータを集計・分析するという習慣と全社員が各サービスのログ*1に触ることができる環境があります。 例えば、ユーザー獲得を担っているプロモーションチームはエンジニアが0名のチームなのですが、実際にSQLを叩いています。 それによって、自分たちの獲得したユーザーはどのような行動をしているのかを確認したり、分析することができています。

これはGunosyのみの事例ではなく、AWSのRedshiftやAthena、GCPのBigQueryが台頭してきたおかげで、どの会社も低コストにログをSQLで集計・分析できる基盤が整ってきています。 個人的にはアプリやウェブの業界で働くマーケターにはSQLは必須の知識と言える時代になってきたと感じています。

そこで今回は特別プログラミングなどの経験が無い人でも、SQLを出来る限り最短でマスターできる方法をご紹介します。

入門編

まず数値を分析するためにSQLを勉強しようとなったときに、SQLとは何かであったり、基本的なSQLの構文の知識が必要です。 そのあたりの基礎的な知識を身につけるために書籍をまず読んでもらっています。 Gunosyでは10年戦えるデータ分析入門 SQLを武器にデータ活用時代を生き抜く(通称「10年SQL」)が10冊以上会社に置いてあり、新しく入社した人やこれからSQLを勉強したいという人にいつでも貸し出せるようになっています。

学習のポイントとしては、SQLを扱う上で多少マニアックな内容だったり、SQLを叩くだけだと必要の無い情報も載っているので、始めの方を中心に流し見程度で読んでおくことです。 いずれにせよSQLは自分で書かないと身につかないので、ある程度の基礎知識を入れて次の実践編に進むのが良いです。

最近はWeb上でもSQLについての学習をできるサイトがたくさんあるので、書籍を読むことが面倒だという人にはこのようなサイトもおすすめです。

prog-8.com

studybyyourself » SQL学習 -分かりやすい説明とオンラインでの練習

実践編

上記の入門編である程度、データベースやSQLの構文の知識は学べますが、SQLは実際に書いてみないと自分で書けるようになりません。 社内に自由にクエリを書ける環境があればそこで試せばいいのですが、変なクエリを叩くとエンジニアに怒られてしまったり、そもそも環境がないこともあります(ここがなかなかSQLをマスターしづらい1つの理由です)。

そこで紹介したいのがこのSQLZOOというサイトです。

SQLZOO

章ごとにテーマに沿った問題が出題され、それをウェブ上でSQLを書いてそのまま実行することができるという優れものです。 言語が英語しかないのがたまにきずですが、ややこしい環境構築の必要もなく、ウェブ上で全て完結するのがとても良いです。 ただ中には難しすぎる問題もあるので、神経質にならずに要所要所つまんでやっていけばOKです。

弊社のチュートリアルとなっているSQL課題やアクセスログとユーザーテーブルから求められるKPIをSQLで算出してるブログも公開しているので、興味のある方はこちらもご覧ください。

github.com

data.gunosy.io

余談

以上で基本的なSQLは自分で叩けるようになるはずです。 しかしながら、本やネットだけで勉強を進めていると、詰まりポイントにハマってしまったり、自分のクエリが正しいのか不安になることも多いでしょう。 自分でSQLを勉強して数値を出そうとしている人にはエンジニアは協力的なので(たぶん)、ぜひ気軽に質問してみると良いと思います。

弊社のとある人は、非エンジニアが最速でSQLをマスターする方法はエンジニアを合コンに連れて行くことだ、と言ってました。

*1:個人が識別可能な情報は含んでいません