最近はエンジニア以外の職種の方からも、「SQLを学んでみたい・学んだほうがよいでしょうか」とご相談されることが増えてきました。
「エンジニア以外はSQLなんて使えなくてもいいでしょ」「データがほしいときはエンジニアにお願すればいいでしょ」と考える人もいるかもしれませんが、SQLやDBに関する知識がまったくないと、今すぐデータがほしいのに確認できるまで時間がかかったりして不便なことも多いですよね。
エンジニアにしても、たとえば開発中にちょっとしたデータ取得の作業を差し込まれたり、「データが思っていたのと違った」と言われて再取得になったりすると、必要以上に工数をとられてしまいます。
「エンジニアじゃないからSQLなんてわかんない!」と思うかもしれませんが、すでに運用中のデータベースから基本的なデータ取得をするだけなら、現役エンジニアレベルの高度なスキルが必要なわけではありません。むしろ使えるようになれば業務が捗るので、メリットのほうが大きいでしょう。
そもそもSQLって?
SQLとは、簡単に言うとリレーショナルデータベース(RDB)のデータを操作するための言語です。わたしたちはSQLを使うことによってRDBMS(リレーショナルデータベースマネジメントシステム)に命令を出して、必要なデータを格納したり、格納したデータを取得(表示)することができます。
MySQLは、世界中で最もよく利用されているオープンソースのRDBMSの一つです。無償でインストールできて高速で使いやすいため、企業でも個人開発でも幅広く使われています。
SQLを使えると、たとえば「サイト訪問者数の推移を見たい」「毎月の売り上げを一覧表示させたい」というときも、すぐにデータを取得して閲覧できます。そのためエンジニアだけなく、営業や企画、マーケティングなどさまざまな職種で、「数値分析に役立つスキル」として需要が高まっています。
エンジニア以外がSQLを使えない組織でよくある課題
どんなデータがあるかがわからず、数値をもとにした検証や企画ができない
まず、「どんなデータが蓄積されているのか、どんな形式で蓄積されているのか」を理解しておかないと、データをもとにした検証や戦略を立てることができません。
たとえば、paizaのような求人サイトで、営業担当者がなんとなく「最近A社の求人への応募数が急激に減った気がするな…」と感じていたとします。ここで実際のデータをとって検証しなければ、実際にいつからどれぐらい減っているのか、原因はどこにあるのかといった分析ができませんよね。また、データをもとにした的確な分析ができないと、当然ながら改善のための対策もとることができません。
エンジニアに依頼が続くと負担をかけてしまう
データ取得の依頼が続くと、当然ですがエンジニアの作業時間を奪い、負担をかけてしまいます。
また、依頼する側がDBの構造などを理解していないと、最適な依頼もできません。せっかくデータをとってもらったのに、思ってたのと違ったせいで結局分析や検証に使えなかった…ということもあるでしょう。
たとえば…
営業「こういうデータをください!」
エンジニア「どんな分析に使うんですか?」
営業(データをもらってから考えようと思ってた…)
企画「今月このコンテンツに来たユーザーのデータとあのKPIとそのDAUとあれとこれとそれの数値を紐づけたデータがほしいんですけど~」
エンジニア「どのデータもテーブルの中でまったく紐づいてないから無理ですね!!」
といったケースが起こり得ます。
データ取得を依頼をする側も、「よくわからないからいい感じに取得して」ではなく、多少はSQLやDBの知識があったほうがよいでしょう。
SQLを学ぶためにできること
paizaラーニングの「DB/SQL入門編」
paizaラーニングの「DB/SQL入門編」は、SQLのオンライン実行環境と構築済みのDBを使うことで、初心者でも環境構築で挫折することなく、動画と演習問題を通してSQLの実践的な書き方がすぐに学べて身につく講座です。
実際にpaizaでも、SQLを使った経験のなかった営業やディレクターがこの講座でSQLを勉強して、SQLの基本構文を理解したり、複雑な条件じゃなければ自分でイチからSQL文を書いたり、すでに使われているSQL文の条件をちょっと書き替えてほしいデータを取得したり…といった作業はできるようになっています。
※paizaの場合、非エンジニア職が触れられる分析用DBは本番用DBとは別のもので、そもそも担当エンジニア以外はリードオンリーで追加・削除・更新などができないようになっていますし、個人情報などもマスキング処理されています。
非エンジニアでもSQLを学べばできるようになること
簡単なSQL文なら自分で書ける&依頼が的確にできるようになる
SQLを学ぶと、当然ながら簡単なSQL文であれば自分で書いたり、既存のSQL文の条件を変えて取得したりといったことはできるようになります。
それだけでなく、どんなデータがどんな形で蓄積されているのかがわかると、複雑な条件のデータ取得をエンジニアに頼むときも、的確に依頼できるようになるでしょう。
たとえば、以前は「とりあえずこのへんのデータとれば何かわかるだろう…」だったのが、「この数値を分析したくてこんな仮説を立てているので、この期間のこの企画に関するこういう情報を取得できますか?」といった形で依頼できるようになります。
自分で数値の抽出から分析までができる
データ取得が完全にエンジニア任せだと、「こういうデータがほしい」と依頼して、開発の手を止めて取得してもらう…足りないデータがあると気付いたからまた依頼して、手を止めて取得してもらう……といった感じで、肝心のデータ分析へたどり着くまでに時間がかかってしまいます。
数値を追いたい人が取得から分析までワンストップでできるようになれば、「取得してもらったデータが思ってたのと違った…」「見たい数値が取得できていない」ということも起こりませんし、「今月だけこの数値とも比べてみたいな」という場合も必要に応じて各々で対応できるようになります。
加えて、自分の担当業務に関してどんな数値が可視化されているのか、どんなデータが出せるのか・出せないのか、ログがどこまで残っているかなどといったことも理解できていれば、数値をもとにした分析や改善がしやすくなるでしょう。
エンジニアがより開発に集中できる
これが一番のメリットかもしれません……。
まとめ
今やSQLはエンジニア以外のさまざまな職種の方にも、「数値分析に役立つスキル」として需要が高まっていますので、学んでおいて損はありません。
プログラミングを学んだことがない方は「難しそう…」と思われるかもしれませんが、すでに運用中のDBから特定のデータを取ってきて表示させるような基本のSQL構文は、そこまで難易度の高いものではありません。
まずはオンライン上の環境でSQLを書いて実行し、「どう書くとどんなデータが表示されるのか?」といったことを試してみると、気軽に学習を始められるかと思います。
かつてはSQLの勉強をしようと思うと、一から環境設定をして、練習用のDBを構築し、ようやくSQLを書いてみる……といったステップが必要だったため、環境構築で挫折してしまう人も多かったですが、最近は基本のSQLの読み書きがすぐに学べて、オンラインで実行できる学習コンテンツが増えています。
paizaラーニングの「DB/SQL入門編」は、SQLのオンライン実行環境と構築済みのDBを使うことで、初心者でも環境構築で挫折することなく、動画と演習問題を通してSQLの実践的な書き方がすぐに学べて身につく講座です。
また、SQLを基礎から学べる「新・SQL入門編」も公開しています。SELECT文を学ぶ、WHERE句を学ぶ…などがレッスン単位になっているので、目的に合わせて受講できます。こちらもぜひチェックしてみてください。
paizaラーニングについて詳しくはこちら
「paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。
詳しくはこちら
そしてpaizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。
詳しくはこちら