
なんでこの内容を記事にしようと思ったかというと、SQLって重要なわりにクローズアップされることが少ないので初心者にとってはすごくイメージしづらいと思います。

ですので、今日は私の普段の業務の中でどんな場面でSQLが必要になるのか、紹介していきます。
本記事の目次は以下の通りです。
本日紹介する内容は実際の私の日常を例にしているので、「業界・職種・企業・部署・案件」によって当然状況は異なります。
あくまで全体の中の一例としてお読みいただくようにお願いします。
1.私の自己紹介
前職は全くの異業種(人材マネジメント)で7年働いていましたが、あるプロジェクトへのアサインをきっかけに統計・プログラミング・機械学習を勉強し、AI分野への可能性を感じました。
そして2020年4月からビジネス寄りのデータサイエンティスト(AIコンサルタント)に転職したので、転職してちょうど7か月が経過したところです。

2.SQLとは
企業は、大抵自社のデータ(購買データやユーザのデータ)を「専用のデータサーバ」に保管しています。
この「専用のデータサーバ」から、分析したいデータを取ってきたり、加工するために必要なのが「SQL」という技術です。
イメージ的には、PythonやRとは別に、SQLというプログラミング言語があるんだなと思っていただければ大丈夫です(厳密には違いますが)。

この意味でも、SQLは使えないといけないということが伝わると思います。
3.SQL、こんなときに使います
(1)エンジニアの場合
この内容は、少し難しいと思われる方は飛ばしていただいて大丈夫です。
エンジニアの方は、わざわざ説明するまでもないかもしれないですが、一応紹介します。
すごくシンプルな例で言うと、データの集計を頼まれたときです。
このサイトでの売上金額の平均を日別に知りたいんだよね
たとえばこんな相談があったとき、「このサイトに関する」データは、冒頭にお伝えした「専用サーバ」に保管されています。
すごく適当ですが、以下のようなイメージです。(仮に、このデータを「sales」という名前とします)
顧客ID | 日付 | 購入金額 | 購入商品 |
11111 | 2020/11/1 | 20,000 | Tシャツ |
11111 | 2020/11/2 | 35,000 | パーカー |
22222 | 2020/11/1 | 24,000 | 靴 |
33333 | 2020/11/2 | 18,000 | ズボン |
~何万,何百万行のデータ~ |
このデータを集計するために、以下のようなクエリを書きます。
command
SELECT AVG("購入金額")
FROM sales
GROUP BY "日付";
こうすると、日付別の購入金額の平均が表示されるので、その内容をお客さんに報告する・・というイメージです。

(2)ビジネス寄りのデータサイエンティストの場合←私がこれ
(1)のエンジニアの方の場合は、「SQLは使わないといけないんだろうな」と想像がつきやすいと思います。
一方で、いわゆるビジネス寄りのデータサイエンティストがなぜSQLを使える必要があるのか、イメージがつかない人も非常に多いと思います。

おそらく、こう思う人って結構多いと思います。
なので、少しでもイメージがつけやすいように、普段私がどういう場面で「SQLを必要としているか」、紹介していきます。
ケース1:エンジニアの方に依頼するとき
さきほどのエンジニアの方の例はシンプルすぎたのですが、現実はもう少し複雑なデータ集計の依頼をお客さんからいただくことが多いです。
そういうとき、依頼はお客さんからエンジニアの方に直接行くのではなく、PM(プロジェクトマネージャー)をしている私に先に連絡をいただきます。
そして、実際の集計はエンジニアの方にしていただくことも多い(私がやる場合もあります)ので、そのときは当然私からエンジニアの方に説明する必要があります。

これは、考えてみれば当然なんです。自分ができないことを誰かに依頼しようとすると、説明が漠然としたり曖昧になってきちんとエンジニアの方に伝わらないことが多いです。

※偉そうに書いていますが、最初は上司に頼りっきりでした。
ケース2:自分で集計するとき
これはもうそのままなんですが、「自分で集計するときがどんなとき」か、紹介していきます。
■小規模でスポット的な集計業務の場合
簡単に言うと、わざわざエンジニアの方に依頼するまでもない、比較的小規模でスポット的な(今回1回限りしかない)業務の場合、
アサインできるメンバーがいないので、自分でやる場合が多いです。
■急ぎの集計業務の場合
わりとあるあるなのは
ごめんなさい・・明日中か・・できれば今日簡単でいいので集計してほしい
とお客さんから頼まれるケースです。

まとめ
今回はだいぶわかりやすい2つの例を出しましたが、実際はもっと色んなケースがあります。
今回の記事では、「あ、たしかにエンジニアの方以外でも、SQLって必要なんだな」ということが伝わりましたら嬉しいです。
4.まとめ
いかがでしたでしょうか。
データサイエンティスト、データ分析職、エンジニアの方にとって「SQLが使えない」って、まあまあ致命的(というか仕事にならない)なんだと理解いただけたのではないでしょうか。

以下の関連記事でSQLの勉強法をまとめていますので、SQLを勉強してみたいという方は、是非こちらもご覧ください。
最後までお読みいただきありがとうございました。