非エンジニアの僕が、SQLを習得するまでの道のり(その1)

カスタマーサクセスの大木です。
弊社プロダクト(PR Table)の利用をサポートする業務を行っています。

その際、ユーザーの皆様がどのような行動をしているのか知るためにデータ分析を行う必要が出てきました。そこで「データベースの情報を知りたい!」と思い、SQLを勉強し始めました。

まだまだ初心者ではあるものの、基本的なことが理解できたため、非エンジニアの方の一助になればと思い、ノウハウとして整理してみました。

そもそもSQLとは

SQLは最も汎用的に用いられているデータベース言語の一種で、「エスキューエル」「シークェル」などと呼ばれます。データベースとは一定の形式で整理されたデータの集まりのこと。SQLを用いてRDBMS(リレーショナルデータベース管理システム)を操作することで、データベースと対話して大量のデータの効率的な取得・追加・削除・更新などができるようになります。この際、データベースに対して出される命令をクエリ(query)といいます。(引用:データのじかん https://data.wingarc.com/what-is-sql-19671

とのことです。

簡単にいうと、「データベースを扱うための言語」でしょうか。
マーケティング担当の方は、分析に必要なデータを、データベースから取り出すために使うことが多いかと思います。

学習方針

・最初からすべてを理解しようとしない
データベースの作成・削除等の方法をすべて理解するのではなく、検索するためのselect文のみにフォーカスしました。

・わからなければ、Googleで検索する
エラーがでたり、わからないことがあっても大丈夫。大体のことは、Googleで検索すれば情報が探せます。

・ひたすら、クエリ(命令文)を書き続ける
学習方法を調べた結果、ここは避けては通れないんだなと諦めました。

基本学習編

まずは、個人的に契約をしていたProgate(https://prog-8.com/)のSQLコースを受講しました。

Progateは、そもそもSQLとは何かをスライドでわかりやすく理解でき、かつProgate内でクエリを実行できるため、基本構文の理解はこれで十分かと思います。だいたい3〜4時間ほどでSQLコースは完了するので、手っ取り早く理解するのに適しています。

この段階で、以下の簡単なデータ出力はできるようになりました。

さて、ここからは実務で活用するための学習方法をお伝えしていきます!

実践編

実際のデータベースを使って、欲しいデータを出力します。
エンジニアに練習用のデータベースを作成してもらい、ほぼ本番環境と変わらないデータベースをもとに、業務に関わる内容で練習を行いました。

Progateで学んだ基本的な構文を打ち込むだけで、日々業務で接している情報が出てくるので、ここで理解度がグッと高まりました。
また、データベース構造を理解するために、テーブル構造表を作成しました。これを行うことで、データベースの全体感がわかるので、結果的に自社サービスの理解を深めることができました。

ここまで来ると、必要な情報をパッと出力ができるようになりました。

実践編で理解を深めるコツ

①実務で知りたい情報について、クエリを描きまくり、エラーメッセージを発生させまくる
データベースを触りはじめた際に、簡単なクエリだとしても、構文が間違っていることが多くありました。また僕の場合、誤字も多かったこともあり、エラーが頻発していました。
ただし、何度もやり続けていると自分が間違いやすいポイントは見えてくるので、徐々にスピードもついてきました。

②何度調べても理解できない、わからないこと
これに関しては、SQLを理解している身近な人に聞くしかないです。幸いPR Table社ではエンジニアの芹沢が「非エンジニアへの理解」があるため、わからないところは教えてもらうことができました。

次回予告:BIツールとの連携

まだまだ、SQLでできることのほんの一部しかできていないのが現状です。
本シリーズ(その2)では、BI(ビジネスインテリジェンス)ツールと連携して、データの可視化・分析作業を楽に行える学習法をご紹介できればと思います。

関連ストーリー

注目ストーリー