Webサービス作る上で、必須となるSQL。
入門書としては、最適な『スッキリわかるSQL入門 ドリル215問付き!』の紹介です。
SQL学習は後回しにしがち
PHPなどのバックエンド言語を学習すると、必ずデータベースを扱うことになります。
ただSQLは基本のCRUD(CREATE、SELECT、UPDATE、DELETE)と、テーブル結合ぐらい触れておいて、
後はその都度学習すると言った方が多いです(僕がそうでした)。
しかし、それぐらいの習得では実務で通用しません。
今はフレームワークがあるので、SQLは使う機会が少ない?
とんでもない。複雑な処理を書こうと思ったら、フレームワークの機能だけでは実現できないこともあります。
その際に、SQLを書くことが求められるのです。
また、フレームワークが代わりに行ってくれる処理の裏側ではSQLが走っているので、
そこも補完して使用しないと、事故りますね笑
実際には、テーブルの設計、トランザクション、インデックス、サブクエリ、など学ばないといけない範囲は広いです。
SQL自体の文法はそれほど複雑ではないことから、簡単に思われるかもしれませんが、
めちゃくちゃ奥が深いんですね(データベースエンジニアという専門家がいるくらい)。
ですので、一通りの基礎は学ぶ必要はあるということです。
CRUDとテーブル結合くらいでは通用しない
ネットのおすすめ学習サイト
Progate
Progateのサイト上でSQLが実行できるので、環境構築なしで学べます。
お手軽な分、ライトな内容なので、Progateだけじゃ全然足りません。
でも最初に学ぶには最高の教材。
ドットインストール
全レッスンで36回という、ドットインストールの中でもボリュームが多いレッスンです。
データベースの作成からバックアップ方法まで書いてあるので、とりあえず1周はしましょう。
実行環境は、仮想環境を構築して行いましょう。(逆にこちらのほうが難易度高め?)
※プレミアム会員限定のレッスンです。
ネット学習した後は、書籍で網羅的に学ぶ
上記に紹介した、Progate、ドットインストールを1周すれば、基礎はそこそこできていると思います。
後は、書籍で網羅的に学びましょう。おすすめは冒頭で紹介した『スッキリわかるSQL入門 ドリル215問付き!』です。
内容が網羅的
目次を見てもらえば分かりますが、データベースの学習に必要な知識がかなり網羅されています。
- 第0章 データベースを学ぶにあたって
- 第1章 はじめてのSQL
- 第2章 基本文法と4大命令
- 第3章 操作する行の絞り込み
- 第4章 検索結果の加工
- 第5章 式と関数
- 第6章 集計とグループ化
- 第7章 副問い合わせ
- 第8章 複数テーブルの結合
- 第9章 トランザクション
- 第10章 テーブルの作成
- 第11章 さまざまな支援機能
- 第12章 データベースの設計
- SQL練習ドリル
基本の文法からデータベースの設計まで解説があります。
しかも、書籍の最後に練習ドリルも付いており、復習も行えます。
また実務でも、辞書的に使うこともできるので、手元に置いておくことをおすすめします。
僕はkindle版を購入しました。
学習の順番
Progate→ドットインストール→書籍の順が良いと思います。
僕自身飽きっぽい性格で、同じ教材を繰り返すのは好きじゃありません。
Progateなどはゲーム感覚でレベルが上がるので、何周もしたくなりますが、
インプットをある程度したら、すぐにアウトプットした方が良いです。