はじめに
この記事では
SQLを学習する上で最初に学ぶべきことを
まとめた記事です。
キッカケ
先日、新卒が入社されまして
業務説明をしたのですが
思ったよりSQLを知らないという人が
多いことに驚きました。
サーバやネットワークを
学習されていたそうなんですが
データベースは必要にならないと
学習しないということに気づきました。
SQLとは
Structured Query Languageの略
よくプログラミング言語と勘違いされるが
厳密には問い合わせ言語の一種である。
ちなみにwikiでは
国際標準の規格票内では「SQLは何かの略語ではない」と言明がある
と書かれている。
何から覚えるか
内部結合や外部結合、グループ化、case文 ...etc
色々あるけれどまずは一つのテーブルから
条件絞って選択するところからだと思う。
例題
例えば、こんなテーブルが存在するとき
メニュー表
| メニューID | メニュー名 | 値段 |
|---|---|---|
| 001 | カレーライス | 350 |
| 002 | ラーメン | 450 |
| 003 | 餃子 | 120 |
メニューIDを条件にしてメニュー表テーブルから
カレーライスを取り出すSQLを書いてください。
回答例
こういった感じにパッと答えられると
教える側としては回答者の実力にとても可能性を感じます。
SELECT
メニューID,
メニュー名
FROM メニュー表
WHERE メニューID='001';
ここでさらに踏み込んで
・文は大文字書くべきか
・出力するカラムは取得したいカラムだけで良いか
などそういう細かいところまで議論できるようになると
「あ、この人お願いしたらできそうだな」って
教える側はそう思います。
どう学んだら良いか
実をいうと私は仕事で
AccessDBやPostgresを使うようになってから
SQLを使うようになり
それで覚えるようになりました。
そんな私からオススメしたいのは
ProgateのSQLコース
これの第二章まで普通にクリアできれば
正直なところ準備完了って感じはする。
他にも「スッキリわかるSQL」
などが読みやすくてオススメです。
さいごに
人に教えるためにもっと真剣に
SQLとDB技術に対して勉強しようと思いました。
そろそろデータベースを業務で
扱って3年になるので
スペシャリストになるついでに
たっぷり復習しようかしら。