こんにちは。もんしょー(@sima199407)です。
という疑問があるかと思います。
以前に以下のようなツイートをしました。
web系エンジニアになりたいならHTML,CSS,PHPやRubyの他にSQLも勉強しておくといいです。
SQLはどの言語を使っている人でも使うし汎用性が高いです。
フレームワークとか使うようになると、ちょっと変わってきたりしますが、基本同じ。
DBに情報を登録、表示、更新、削除が出来ればOK。
— もんしょー@時短リモートエンジニア (@sima199407) December 4, 2019
web系エンジニアになりたいならHTML,CSS,PHPやRubyの他にSQLも勉強しておくといいです。
SQLはどの言語を使っている人でも使うし汎用性が高いです。
フレームワークとか使うようになると、ちょっと変わってきたりしますが、基本同じ。
DBに情報を登録、表示、更新、削除が出来ればOK。
これについてもう少し詳しく解説していきます!
動画でも解説してます
結論から申しますと、4つの機能をマスターせよです。
「プログラミングで必要な知識って何があるんだろう!?」
とか
「HTML,CSS,JavaScriptやっておけば大丈夫じゃない!?」
ていう意見あると思います。
僕はエンジニアとして3年になり、インフラ、バックエンド、サーバサイド、フロントエンドと幅広くやっいる中でSQLもやっておいた方がいいよと思ったので今回お伝えしていきます。
SQLってなんなの?
ポイント1つ目、SQLってなんなの?についてです。
ざっくりというと、データベースを使う為のプログラミング言語です。
情報はデータベースに保存して、
例えば、会員登録・商品情報、そういったものは、全部データベースに入っています。こういったものを扱う為に必要な言語です。
エンジニア以外にもデータサイエンティストやマーケッターなども数字を見て、商品がどうなんだとか、ここはどういうグラフなんだとか、数字を扱う系の人もデータベース扱うので、このSQLを書ける人は多いと思います。
なんでやった方がいいの?
なぜやると良いかというと、どの現場に行っても使うことが多いので、汎用性が高いからです。
LPとかWeb制作だとあんまり使わないと思うんですけども、現場に入ってWeb系のエンジニアになるとかだったら確実に使うと思います!
なによりも駆け出しのエンジニアさんだと、SQL勉強してこない・触れてこないです。
やっているのは、PHPやRubyなどのサーバーサイド言語やVue.Jsなどのフロントフレームワークなどだと思います。なかなか実感湧かないですよね。
SQLを使う(データベースを使う)って、なのであんまり優先度が高いわけではなさそうなんですけども、使用頻度、現場に入ったら凄く高いので実務に入られる方は、ぜひぜひ勉強しておくのがオススメです!
どうやって勉強すればいいのか?
ポイント2つ目、どうやって勉強すればいいのか?についてです。
大体勉強する項目って決まっているんですよね。
Twitterでも書いたように、登録・表示・更新・削除の4つの機能が分かればいいかなと思います。もう1歩踏み出すと、グループ化する為のサブクエリとかテーブルとテーブルを繋げる為のジョインとか。
色んな風に情報を取ってくるとか、条件付けしたりとか、いろいろあるんですけども、
「そんな事言っても、いっぱいできるか不安だなぁ~」
って思う方いらっしゃると思います
大丈夫です!勉強方法は確立されています!
オススメの教材
これをやればいいかなっていうオススメがあります。
Progate(プロゲート):プログラミングを学べる無料のサービスです。Progate(プロゲート)のSQLコースをサッとやるだけども結構違います。
少し触ってみたり、項目とか見たりすると、これ使うよねっていうカテゴリがいっぱいあって、6時間~7時間で終わる分量です!
全体の流れっていうのは分かると思うので、是非、Progate(プロゲート)のSQLコースをやってみて下さい。
インターン時代にSQLで悩んだ話
ポイント3つ目、インターン時代にSQLで悩んだ話についてです。
僕がエンジニアインターン時代に、マーケティングの担当の人が使うようなグラフ・円グラフ・地図・地図分布とかあるじゃないですか?
こんなもの↓
それを可視化する為のBIツールというものを導入して、さらにSQLを書いて渡すっていうお仕事があったんですけども、その時はプログラミングスクールで勉強していたとはいえ、SQLあんまり触ったことなかったんですよ。
そこで結構試行錯誤とか大変だった思い出があります。
その時に「サブクエリって何!?」とか「INNER JOINとOUTER JOINって同じくっつける作業何が違うの!?」色々、基本的なところも分かっていなかったので、なんとかやってる状態でした。
そうやって必要な時に調べて勉強するっていうのがプログラミングの基本です。
それはそれで、良いかなと思うんですけども、やっぱり、「ちょっと勉強しておけば良かったかな~」っていうのがあるので、そこを勉強するのは、僕の経験上オススメ出来ることです。
駆け出しのころは、どうしても目に見えやすいHTML,CSS,JavaScript,PHP,Ruby,Pythonとか、そこら辺いきがちなんですけども、SQLも是非やって頂ければなと思います!
優先度を考えると?
ここまでSQL大事だよってお話をしてきました。ただ、優先順位はそんなに高くありません。ぶっちゃけ、HTML,CSS,Ruby,JavaScript,インフラとかそっちの方がやるべきことです。
時間があればやってほしいですけども、ある程度基本と言われているような、「これまずやりましょう!」って言われてるところをやっておくべきかなと思います。
とはいえどの現場でも使う運命なので、いつかは勉強するだろうっていうことを頭の念頭に置いておけば良いんじゃないかと考えています!
まとめ
1つ目、SQLは少し勉強すると評価されやすい!
なかなか触れる機会がないので、勉強する人も少ないんじゃないかと。
2つ目、基本的なところは1日勉強すればOK!
Progate(プロゲート)のSQLコースを1日やっておけば、ざっとこんなもんなんだなと分かります。
3つ目、必要になってからも学ぶもよし!
優先度的にはそんなに高くありません。必要な時にその都度調べて、勉強していくのも良いでしょう。
今回のまとめです。
・SQLは少し勉強すると評価されやすい
・基本的なところは1日勉強すればOK
・必要になってからも学ぶもよし