こんにちは。新卒2年目のRYOBALです。
入社後1年間サーバーサイドエンジニアとして業務を行い、その後プロモーション部でSHOPLIST内のデータ分析や施策提案などを行っています。今でもBigQueryでSQLを使ったデータ分析を日々行っています。
今ではSQLを使った分析は欠かせないスキルで今後も業務で成果を出すために欠かせないスキルだと考えています。
今後、エンジニアやマーケティング業務を行っていきたい方は身につけておくと非常に役立つスキルです。
今回はそんな僕が未経験からSQLを学ぶ上で知っておくべき勉強法を紹介しますのでぜひ最後まで読んでみて下さい。
そもそもSQLとは?
SHOPLISTを含めWEBサービスではユーザーの情報を管理するためにデータベースが使われています。
データベースにはユーザーの購入情報やサイト内で販売されている商品情報など格納されており、そのデータベースを操作・定義・制御するために使われる言語がSQL(Structured Query Language)です。SQLを使ってデータベースを操作するためには、MySQLなどの「データベース管理システム」が必要となり、データベース管理システムはSQL命令文を処理することで、データベースの整理や検索を行ってくれるシステムです。
このシステムを使って、顧客情報や商品情報を管理し、日々のデータ集計やデータ抽出をすることが可能になります。
SQL勉強法①まずはSQLの構文を理解する
SQLは基本構文というものがあります。
まずは、その構文を理解し覚えることがSQLの勉強法に第一歩です。データベースには操作、定義、制御するのに下記のように表のように構文が変わります。
覚える構文はいくつかありますが、データ抽出にはSELECT句、FROM句、WHERE句の3つを覚えておくと最低限のデータ抽出はできるようになります。
データベースの操作 | SELECT/UPDATE/DELETE/INSERT |
データベースの定義 | CREATE/DROP/ALTER |
データベースの制御 | GRANT/REVOKE/COMMIT/ROLLBACK |
上記の基本構文を一通り押さえたら、テーブル結合やサブクエリ(入れ子になったSQL文)などの応用的な内容も勉強していきましょう。
僕自身も業務ではSELECT文を必ず使います。テーブルからデータを抽出する際に必ず使うので欠かせない構文です。
SQL勉強法②サイトを使ってコードを書いていく
SQLを覚えて理解するのためには、実際に自分の手で書いていくことが大切です。
僕も業務でSQLを書いていくことで自然と構文の使い方を覚えることができました。最初はサイトをみて必死に構文を覚えようとしていたのですが、なかなか頭に入ってきません。それよりも実際に自分で考えて手を動かす。これが最も効率良い勉強の仕方です。
Udemyや侍エンジニアなどプログラミングスクールの教材を使えば、実際にSQLを書くことができる環境を整えることができるので是非挑戦してみてください。
お手軽に無料で勉強していきたいという方はProgateやドットインストールを使って学んでいきましょう。環境構築などがなく、SQLを1から学びたい方にもぴったりのサイトです。
僕がオススメするUdemyの教材は下記の「はじめてのSQL」です。
この教材のオススメの理由は、
①データベースとは何かなど初心者基礎から学ぶことができる
②実際にSQL文を記載していきながら進めることができる
③セクション13で応用問題として「都道府県別、月別平均客単価」を抽出するといった実際に業務で依頼するような問題があるので実践的である
これを見るだけで初心者でも基礎的な内容が理解できるので興味がある方はぜひ見てみてくださいね。
他にもUdemyで「SQL」と検索を記載するとたくさんの教材が出てくるのであなたの興味のある教材を探してみてください。
SQL勉強法③ひたすらSQLを書いてみる
SQLを書く環境が整えばあとはひたすらSQLを書いて学んでいきましょう。
1年以上SQLを触っていますが、まだまだ先輩社員のSQL構文をみると「そんな書き方で抽出できるんだ!」と気づきがたくさんあります。
また、SQLを書く上では不必要なデータ量を排除するために、WHERE文をどこで使うかなど負荷を考慮した抽出の仕方も知っておく必要があります。
ただ、闇雲にデータが抽出できればいいというものではないのも知っておくと良いでしょう。これも実際にSQLを書いて学んでいくことわかるようになります。
エンジニアにとってSQLは知っておかないと活躍できないスキルなのでこれからエンジニアになりたい方は絶対に身につけておきましょう。
まとめ
今回は未経験からSQLを学ぶ上で知っておくべき勉強法を紹介しました。SQLを学ぶとはじめはコードの記載方法やテーブル同士の関連性を理解するのに時間がかかります。
ですが、一度基礎が理解できると様々なデータ分析を行うことができます。
僕自身もSQLを書けるようになったことで、SHOPLIST内での訪問者数や売上、広告経由のLTVなどプロモーションを行う上で必要な分析ができるようになりました。開発やマーケティング部の方以外でも知っておくだけで活躍するスキルですので、ぜひ学んでみてください。
今後も業務を通して経験したことや役に立ったことを記事にして発信していくので楽しみにしてください。また、他にも面白い記事を発信しているので是非別記事も読んでみてください。それでは、また次回のブログで。BYE☆
最後に告知です!
第12回目となる『テックヒルズ』を11月30日(水)に開催します。
今回のテーマは、近年注目を集める”コンテナ技術”についてです。
Docker、Openshift、Kubernetes、EC2、Fargateなど様々なコンテナ技術がありますが、
今回は、KubernetesとFargateの2つに焦点を当ててテックヒルズを開催します。
また当日は、㈱カカクコム 下國様、㈱ナビタイムジャパン萱島様にもご登壇いただきます。様々あるコンテナ技術のメリット・デメリットの比較やコンテナ導入にいたるまでの話や、導入過程の苦労した話などからコンテナ技術に興味を持っていただくきっかけをご提供できればと思っております。
是非ご参加ください。
■イベント概要:2022年11月30日(水)19時
■登壇企業 :クルーズ、カカクコム、ナビタイムジャパン
■定員 :500名
■開催 :オンライン開催
▼お申し込みはこちら▼