こんにちは、たいし(プロフィールはこちら)です!
最近、SQLを使う仕事を行う機会がありました。しかし今までRailsやLaravelといったフレームワークを主に使っていたため、SQLはたまに触るくらいでほとんど経験がありませんでした。フレームワークを使えばSQLの知識がなくても、開発できていたのですが勉強不足でとても困りました。
同じようにプログラミング初心者で、SQL学習を後回しにしてしまっている方も結構多いのではないでしょうか?ウェブ開発のような派手さはないので、学習を後回しにしてしまいがちですよね。
しかしウェブ開発とデータベースは切っても切れない関係なので、遅かれ早かれSQLを学ぶことが必要になってくると思います。今回はプログラミング初心者におすすめのSQL学習法についてご紹介したいと思います!
データベースはどんなシステムにも絡むので、学んでおいて損のない知識!
- 初心者におすすめのSQL学習法
- 「SQL Bolt」ってどんなサイト?
- 学習の注意点
- 「SQL Bolt」のレッスン別日本語訳
- SQL Lesson 1: SELECT queries 101
- SQL Lesson 2: Queries with constraints (Pt. 1)
- SQL Lesson 3: Queries with constraints (Pt. 2)
- SQL Lesson 4: Filtering and sorting Query results
- SQL Review: Simple SELECT Queries
- SQL Lesson 6: Multi-table queries with JOINs
- SQL Lesson 7: OUTER JOINs
- SQL Lesson 8: A short note on NULLs
- SQL Lesson 9: Queries with expressions
- SQL Lesson 10: Queries with aggregates (Pt. 1)
- SQL Lesson 11: Queries with aggregates (Pt. 2)
- SQL Lesson 12: Order of execution of a Query
- SQL Lesson 13: Inserting rows
- SQL Lesson 14: Updating rows
- SQL Lesson 15: Deleting rows
- SQL Lesson 16: Creating tables
- SQL Lesson 17: Altering tables
- SQL Lesson 18: Dropping tables
- SQL学習におすすめの書籍
- まとめ
初心者におすすめのSQL学習法
初心者さんにおすすめするSQL学習法は『SQL Bolt』というサイトで、ひたすらSQL文を打ちまくるという方法です。これを何周もうんざりするほど周回することで、いつの間にかSQLがすらすらと入力できるようになっていきます。
\本内容をショート動画で解説!/
「SQL Bolt」ってどんなサイト?
SQL Boltは完全無料かつ登録不要で、SQL文を打ち込みながら学べる海外の学習サイトです。問題形式で事前にデータが挿入されており、入力したSQL文は即実行されて結果が確認できます。そのためサイトにアクセスすれば、すぐに学習を始めることができます。
学習の注意点
SQL Boltは海外サイトのため、全文英語となっています。そこまで複雑な英語ではありませんが、英語に自信がないという方もいると思います。そこで、以下に日本語訳をまとめます。英語に自信のない方は、参考にしてください。
「SQL Bolt」のレッスン別日本語訳
SQL Lesson 1: SELECT queries 101
- 各映画のタイトルを探す
- 各映画の監督を探す
- 各映画のタイトルと監督を探す
- 各映画のタイトルと製作年を調べる
- 各映画の全情報を検索
SQL Lesson 2: Queries with constraints (Pt. 1)
- 行IDが6のムービーを探す
- 2000年から2010年に公開された映画を探す
- 2000年から2010年の間に公開されなかった映画を探す
- ピクサー映画の最初の5作品と公開年を探す
SQL Lesson 3: Queries with constraints (Pt. 2)
- トイ・ストーリーの全作品を検索
- ジョン・ラセターの監督作品をすべて見る
- ジョン・ラセター監督以外の作品(および監督)を探す
- WALL-*のすべての作品を検索する
SQL Lesson 4: Filtering and sorting Query results
- ピクサー映画の全監督のリストアップ(アルファベット順、重複なし)
- 最近公開されたピクサー映画4作品のリストアップ(新しい順)
- ピクサー映画の最初の5作品をアルファベット順にリストアップ
- 次に公開されるピクサー映画をアルファベット順に5つリストアップ
SQL Review: Simple SELECT Queries
- カナダの全都市とその人口のリストアップ
- アメリカの全都市を緯度順に北から南まで並べなさい
- シカゴ以西の都市を西から東へ並べよ
- メキシコで最大の都市を2つ挙げよ(人口順)
- アメリカの3番目と4番目に大きい都市とその人口をリストアップ
SQL Lesson 6: Multi-table queries with JOINs
- 各映画の国内および海外での売上を求める
- 国内よりも国際的に良い成績を収めた各映画の販売数を表示する
- すべての映画をレーティングの降順でリストアップする
SQL Lesson 7: OUTER JOINs
- 従業員がいる全ビルのリストを検索
- すべての建物とその収容人数のリストを見つける
- 全ビルと各ビルに所属する従業員のロール(空ビルを含む)をリストアップする
SQL Lesson 8: A short note on NULLs
- ビルに配属されていない全従業員の名前とロールを検索する
- 従業員のいないビル名を検索する
SQL Lesson 9: Queries with expressions
- すべての映画とその合計売上高(百万ドル)をリストアップ
- すべての映画とその視聴率(%)をリストアップ
- 偶数の年にリリースされたすべての映画のリストアップ
SQL Lesson 10: Queries with aggregates (Pt. 1)
- 従業員がスタジオに在籍している最長期間を求める
- 各ロールについて、その役割に就いている従業員の平均勤続年数を求める
- 各ビルで働いた従業員の合計年数を求める
SQL Lesson 11: Queries with aggregates (Pt. 2)
- スタジオ内のアーティストの数を見つける(HAVING句なし)
- スタジオ内の各ロールの従業員数を求める
- すべてのエンジニアの総雇用年数を求める
SQL Lesson 12: Order of execution of a Query
- 各監督の監督作品数を調べる
- 各監督の国内外での総売上高を調べる
SQL Lesson 13: Inserting rows
- スタジオの新作『トイ・ストーリー4』を映画リストに追加する(監督は問いません)
- 『トイ・ストーリー4』は批評家から絶賛されて公開された。評価は8.7で、国内で3億4000万、海外で2億7000万を売り上げた。BoxOfficeの表に記録を追加する。
SQL Lesson 14: Updating rows
- 『バグズ・ライフ』の監督は誤りで、実際はジョン・ラセター監督である。
- 『トイ・ストーリー2』の公開年は間違っています。公開されたのは1999年である。
- 『トイ・ストーリー8』のタイトルと監督が誤っています。タイトルは『トイ・ストーリー3』とすべきであり、監督はリー・アンクリッチである。
SQL Lesson 15: Deleting rows
- このデータベースは大きくなりすぎているので、2005年以前に公開された映画はすべて削除してください。
- アンドリュー・スタントンもスタジオを去ったので、彼が監督した映画はすべて削除してください。
SQL Lesson 16: Creating tables
- 以下のカラムを持つDatabaseという名前の新しいテーブルを作成する。
– Name データベースの名前を表す文字列(テキスト)。
– Version データベースの最新バージョンの数値(浮動小数点)。
– Download_count このデータベースがダウンロードされた回数を表す整数値。
このテーブルには制約はありません。
SQL Lesson 17: Altering tables
- FLOATデータ型のAspect_ratioというカラムを追加し、各映画がリリースされたアスペクト比を格納する。
- LanguageというカラムをTEXTデータ型で追加し、映画がリリースされた言語を保存します。この言語のデフォルトが英語であることを確認します。
SQL Lesson 18: Dropping tables
- Moviesテーブルを削除して、きれいにしましょう。
- BoxOfficeテーブルも削除しましょう。
SQL学習におすすめの書籍
SQLは良書も多く、書籍で学習するのもおすすめです。以下に、初級者・中級者におすすめの書籍をご紹介していきたいと思います。
初級者におすすめの書籍
上記で紹介したSQL Boltでも難しいという方におすすめの書籍が、「スッキリわかるSQL入門」という書籍です。こちらは全くSQLがわかりませんという方が、初歩的なことからわかりやすく解説されています。こちらで基礎部分を固めてから、SQL Boltを周回するのが良いかと思います。
中級者におすすめの書籍
次はSQL Boltがすらすら入力できるようになって、もうワンランク上を目指している方におすすめなのが以下の「達人に学ぶ」シリーズの2冊です。「達人に学ぶSQL徹底指南書」は実際の開発で使われるようなより良いSQLの書き方が多数紹介されていて、脱初級者を目指す方にはうってつけの書籍です。「達人に学ぶDB設計徹底指南書」はDBの設計段階からの考え方が解説されており、設計・開発をより深く知りたい方におすすめです。
まとめ
SQLのおすすめ学習方法と書籍についてまとめました。SQLの学習はYouTubeにも優良な教材がたくさんアップロードされているので、これだけで十分学習は可能です。データベースはどんなアプリケーションでも使われているため、いつかは必ず必要になってくる技術です。学習した内容を身に着けるのに、今回ご紹介したような「SQL Bolt」でひたすらSQLを打ちまくることがおすすめなのでぜひ試してみてください!
\プログラミング未経験者の学習について紹介!/