paiza開発日誌

IT/Webエンジニア向け総合求人・学習サービス「paiza」(https://paiza.jp ギノ株式会社)の開発者が開発の事、プログラミングネタ、ITエンジニアの転職などについて書いています。

ディレクターも営業も…非エンジニア職こそSQLを学ぶべき理由と初心者向け学習コンテンツ

f:id:paiza:20161130142147j:plain
Photo by Delwin Steven Campbell
f:id:paiza:20140916135428p:plainこんにちは、谷口です。

皆さんは普段お仕事でSQLを使っていますか?

ITエンジニア以外の職種だと、「自分では使えないので、データがほしいときなどはエンジニアに依頼している」という方も多いと思います。

ただ自分でSQLが使えないと、今すぐデータがほしいのに確認できるまで時間がかかったり、エンジニアの仕事を増やしてしまったりして、双方にとって面倒が増えてしまう場合もあるかと思います。

「エンジニアじゃないんだからSQLなんてわかんないよ!」と思われるかもしれませんが、既に運用中のデータベースから基本的なデータ取得をするのであれば、自分で基本的なSQLの使い方を覚えた方が、マーケティングや営業、分析や企画といった業務も捗るはずです。

今回はSQL初心者の方に向けて、ブラウザ等でSQLを書きながら学べるコンテンツをご紹介します。

■エンジニアが思う、SQLができないデメリットとメリット

SQLできる人がエンジニアだけな場合のデメリット

◇エンジニアが開発に集中できない

ディレクター「このデータとこのKPIとこのページの訪問者数を取得してください」
エンジニア「はい」
営業「それが終わったらこの売り上げデータとこのデータを取得して~」
マーケティング「この数値とあれとこれと~」
エンジニア「」

エンジニアでない方は、「プログラミングとかやったことないしSQL書くなんて無理!」と思われるかもしれません。

が、エンジニアの本業は開発なので、あまりにもデータ抽出の依頼が増えると開発工数に影響が出てしまいます。特に忙しいときに依頼が集中すると「開発に集中したいのに…」と思われてしまいます。

◇テーブル設計もわかってない人がむちゃくちゃなデータ抽出を依頼してくる

ディレクター「今月このコンテンツに来たユーザーのデータとあのKPIとそのDAUとあれとこれとそれの数値を紐づけたデータがほしいんですけど~」
エンジニア「どのデータもテーブルの中で全く紐づいてないから無理ですね!!」

SQLができる人が少ない現場にいるエンジニアに話を聞いていると、「テーブルの中身も全然わかっていない人からむちゃくちゃなデータ抽出を依頼されて、『そこから説明しないといけないのか…』ってなったことがある」という人が結構いました。

DBの中身を全て理解できなくてもよいので、自分がKPI等の数値を持っている部分の構造だけでも理解できていると、このような面倒は減らせるはずです。

◆エンジニア以外の人がSQLを学ぶメリット

◇必要に応じて、数値の抽出から分析まで自分の手元でできる

データ取得が完全にエンジニア任せだと、「こういうデータがほしい」という依頼をして、開発の手を止めて取得してもらう…足りないデータがあると気付いたからまた依頼をして手を止めて取得してもらって……といった感じでデータ分析までに時間がかかってしまう場合もあるかと思います。

数値を追っている人が取得から分析までワンストップでできれば、「他の人にとってもらったデータが思ってたのとちょっと違った…」「見たい数値が取得できていない!」ということも起こりませんし、「今月だけこっちの商品の売り上げデータとも比べてみたいな」という場合も必要に応じて好きに対応できます。

エンジニアを通す手間も省けて、必要に応じた企画等のPDCAのスピードも上げられるでしょう。何よりエンジニアの手を煩わすことがなくなりますから、エンジニアの方もより開発に集中できるようになります。

◇どこでどんなログが吐かれているかがわかるようになり、エンジニアとの仕事もスムーズになる

SQLが書けるようになり、自分で数値を取得できるようになると、例えば「自分が企画をしたゲームコンテンツに対し、来訪ユーザーの情報や行動遷移はどこまで細かくログとして取得できるか」など、担当事業の何が可視化されているのか、どんなデータが出せるのか・出せないのかといったことがわかるようになります。

どんなログがあるのかしっかり理解できていると、数値をもとにした分析や改善もより的確にできるでしょう。

これがわかってくると、例えば新コンテンツを開発しようとなったときに、「このログはこう吐いておくようにしてもらえますか?」といったことが言えるようになります。「新たなログ設定は不要だな」という場合も設定前に把握できていれば、エンジニアの手間を省くこともできます。

SQLの学習コンテンツ紹介

かつてはSQLの勉強をしようと思うと、一から環境設定をして、練習用のDBを構築し、ようやくSQLを書いてみる……といったステップが必要だったため、環境構築で挫折してしまう人も多かったですが、最近は基本のSQLの読み書きがすぐに学べて、オンラインで実行できる学習コンテンツが増えています。

これらを使って学習をすれば、エンジニア以外の方でも自分でSQLを書いてビジネスの分析に必要な、基本的なデータ取得ができるようになるでしょう。

SQLZOO

f:id:paiza:20161101204230p:plain
対応言語:英語・中国語
料金:無料

SQLZOOは、オンラインで出題されるSQL問題を解くと、実行結果が出力される学習コンテンツです。

f:id:paiza:20161101205711p:plain
問題は、「SELECT basics」から始まって「SUM and COUNT」や「JOIN」、さらに複雑な応用問題など複数用意されていますので、自分のレベル感に合わせて挑戦・学習できます。

最初の問題はこんな感じ。フランスの人口を取得するSQLをドイツの人口が取得できるように書き換えましょうということですね。
f:id:paiza:20161101204336p:plain
英語か中国語にしか対応していませんが、そこまで難しいことは書いてないので英語が苦手な人でも翻訳ツール使いながらなんとかなると思います。

paizaラーニング「SQL入門編1・2」

f:id:paiza:20161025195153p:plain
対応言語:日本語
料金:今だけ無料

動画で学べるオンラインプログラミング学習サイトpaizaラーニングpaizaラーニング「SQL入門編1・2」です。

f:id:paiza:20161101210922p:plain
現在、入門編2の追加キャンペーンとして、2016年11月7日(月)までの期間限定で「DB/SQL入門編1」「DB/SQL入門編2」をあわせて無料で公開しております。(※通常時は入門編1は月額課金プラン加入者のみ視聴可能となっております)

f:id:paiza:20161101210825p:plain
DB/SQL入門編」は、SQLのオンライン実行環境と構築済みのDBを使うことで、初心者でも環境構築で挫折することなく、動画と演習問題を通してSQLの実践的な書き方がすぐに学べて身につく講座となっています。

Oracle Application Express

f:id:paiza:20161101211545p:plain
対応言語:英語・スペイン語・ドイツ語・韓国語・日本語
料金:無料
オラクルが提供しているOracle Application Expressでは、ブラウザ上でDB作成・SQL実行をすることができます。

f:id:paiza:20161101212523p:plain
本来はWebアプリケーション開発ツールですが、SQL文を試せる「SQLワークショップ」というチュートリアルのような機能がついているので、これを使ってSQLを学べます。ユーザー登録をして、フリー・ワークスペースから始めましょう。

Codecademy

f:id:paiza:20161102110809p:plain
対応言語:英語
料金:無料
プログラミング学習サイトとしておなじみのCodecademyでもSQLが学べます。

これはイントロダクションの画面ですが、こんなふうに左側に問題が出るので、中央のエディタに回答のSQL文を書いて実行すると、右側に実行結果が表示されます。
f:id:paiza:20161102111018p:plain

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

f:id:paiza:20161102111230p:plain
対応言語:英語・フランス語・日本語・ドイツ語
料金:無料

こちらのサイトでもオンライン上でSQLの問題を解いて実行ができます。
f:id:paiza:20161102112756p:plain

SQLを書いて問題を解くだけでなく、選択制の知識を問う問題も出題されますので、体系的にSQLやDBの知識を学びたい人におすすめです!
f:id:paiza:20161102112800p:plain

SQL攻略 - 実行すれば理解できる!

f:id:paiza:20161102114055p:plain
対応言語:日本語
料金:無料

基本情報処理技術者とITパスポート試験の対策としてのSQLの問題練習サイトですが、もちろん資格取得が目的でない方でもSQLの基礎を勉強できる内容になっています!

こちらでも構文について学んだ後に、オンライン上でSQL問題を解いて実行し、結果を見ることができます。
f:id:paiza:20161102114113p:plain

改訂第3版 すらすらと手が動くようになる SQL書き方ドリル

改訂第3版 すらすらと手が動くようになる SQL書き方ドリル (WEB+DB PRESS plus)

改訂第3版 すらすらと手が動くようになる SQL書き方ドリル (WEB+DB PRESS plus)

こちらは書籍ですが、SQL実行環境アプリの入ったCDが付録でついており、実際に手を動かしてSQL文を書きながら学べる書籍です。

初心者がつまずきがちなSQLの書き順の解説や、「SQUAT」というアプリでSQL文の反復練習ができるため、初心者の方で「本を使って勉強したい!」という人にはぴったりだと思います。

ドットインストール

f:id:paiza:20141014152641p:plain
対応言語:日本語
料金:基本無料((プレミアム会員は月額¥880)
プログラミング学習でおなじみのドットインストールにも、動画でSQLを学べる講座があります。

MySQL入門」「PostgreSQL入門」「SQLite入門」「PHPデータベース入門」等、学びたい環境に適した講座がありますし、有料会員になればわからないことをスタッフに質問することもできます。

逆引きSQL構文集

f:id:paiza:20161102131431p:plain
対応言語:日本語
料金:無料

こちらはSQLの各コマンドの機能について調べられる構文集です。

逆引きなので、勉強中でも実践中でもよくある「こういう処理がしたいときってどのコマンド使うんだっけ?」というときに便利です。このサイトに限らず、書籍でもいいので自分でリファレンスとして調べられるものを用意しておくとスムーズに勉強できると思います。

■まとめ

SQLはITエンジニア以外のさまざまな職種の方にも、「ビジネスでの数値分析に役立つスキル」として需要が高まっていますので、学んでおいて損はありません。

プログラミングをしたことがない方は「難しそう…」と思われるかもしれませんが、既に運用中のDBから特定のデータを取ってきて表示させるような基本のSQL構文は、そこまで難しいものではありません。

まずはオンライン上の環境でSQLを書いて実行し、「どう書くとどんなデータが表示されるのか?」といったことを試してみると、気軽に学習を始められるかと思います。

paiza.jp

paiza.jp

■現在無料公開中のDB/SQL入門編以外にも多数の学習レッスン動画が揃ったプログラミング学習コース!

f:id:paiza:20160830130051j:plain
paizaでは、DB/SQLの他にもJavaRubyPythonC言語、HTML/CSSJavaScript等、多数の学習動画が視聴可能な「paizaラーニング就活パック」を好評公開中です。

paizaラーニング就活パック」は、企業からの「こんな開発スキル・知識を身につけている学生がほしい」という要望と、ITエンジニア志望の学生からの「就活を上手に進めるためにはどうしたらいいのか」という悩みに応えるための特別コースです。

もちろん学生だけでなく、既卒の方、社会人の方、どなたでも受講いただけます。

単純なプログラミングスキルだけでなく、業界・キャリアに関する知識やWeb周辺の知識の習得、選考用ポートフォリオとなるサービス作成までを行える就職特化型の講座内容になっております。

paiza.jp

youtu.be


paizaラーニング」では、未経験者でもブラウザさえあれば、今すぐプログラミングの基礎が動画で学べるレッスンを多数公開しております。

↓詳しくはこちら
paiza.jp

そして、paizaでは、Webサービス開発企業などで求められるコーディング力や、テストケースを想定する力などが問われるプログラミングスキルチェック問題も提供しています。
paiza.jp
スキルチェックに挑戦した人は、その結果によってS・A・B・C・D・Eの6段階のランクを取得できます。必要なスキルランクを取得すれば、書類選考なしで企業の求人に応募することも可能です。「自分のプログラミングスキルを客観的に知りたい」「スキルを使って転職したい」という方は、ぜひチャレンジしてみてください。

ITプログラマ・エンジニア向け転職・就活・学習サービスのpaiza