【初心者向け】SQLおすすめ本8冊を厳選!(独学で入門・勉強する方法も)
-1024x576.png)
▼【注目】Amazonが現在、タイムセールを開催中!
人気の商品が日替わりで登場!お得なタイムセールを実施中!(Amazon)
今回は初心者~中級者がSQLを独学で入門・勉強するときのハナシです。本記事では開発入門時にも使える「初心者がSQL入門するときにおすすめの本(8冊)」を紹介します!
構成としては、まずはSQL入門の3冊、次にSQL中級になるための3冊、最後はSQLに閉じずデータベースの理解を深める2冊も紹介し、記事を通じてSQLやデータベース、ひいてはSQLを学ぶ上で避けては通れないシステム開発・設計について、3つのステップを踏んで深い知識・スキルを身につけるための本を紹介する構成としております。
また、記事最後では、参考書の紹介だけにとどまらず独学でSQLを学んだ人の勉強方法や体験談を掲載しています。参考書と合わせて学び方の参考にしてみてください♪
▼SQLの本で迷ったらこの一冊がおすすめ!
SQL学習でロングセラーとなっているスッキリわかるSQL入門の第三版「スッキリわかるSQL入門 第3版 ドリル256問付き!」です。特に、みんながつまづくSQL難所の具体的な解説だったり、256門ものドリルで経験を積んでいく特訓方法など、初学者が学び始めるのに最適な一冊です。
SQLを学ぶにあたって
まずSQLを学ぶにあたって、基本的な部分と、どのように教材を選ぶと良いのか?について解説していきます!
そもそもSQLとは?
SQLとはRDBMSにおいてデータの操作や定義をするための言語で「Structured Query Language」の略です。SQLといっても複数の種類があり、代表的なものとしてはMySQL、PostgreSQL、SQLite、Oracle Database、Microsoft SQL Server、IBM DB2など様々な種類があります。SQLはどんなシステムにおいてもほぼ必ず使われるためシステム開発をする上でも必須の言語です。また昨今のビッグデータ時代においてデータ分析をする重要性が高まっていることからエンジニアなどの技術者でなくてもSQLを使いこなせる人が増えてきています。
▼SQLに関するその他の記事
・非エンジニアが独学でSQLを学んだハナシと勉強方法
また、本ではありませんが、こういったYoutube動画も参考になると思うので貼り付けておきますね♪
SQLを学ぶ本の選び方
SQLの本といっても、とにかくたくさんの数があります。選ぶ際には、以下の点に注意すると良いでしょう。
- レベル
- SQLの本はレベルが分かれていて、初心者向け、中級者向け、上級者向けの本があります。自分がどのレベルかを確認して、自分に合った本を選ぶようにしましょう。(本記事では、レベル別におすすめの教材を紹介しています!)
- カバー範囲
- SQLは非常に広範囲な言語であり、データベース管理、クエリの実行、データの抽出、結合、集計、トランザクション管理、プログラミングなど多岐にわたります。自分が学びたい領域に特化した本を選ぶようにしましょう。(初心者であれば、ある程度広くカバーされている入門書を読むのがおすすめです)
- 実践的な内容
- SQLは実際のプロジェクトで使われることが多いため、本に実践的な例題や演習問題が含まれていると良いでしょう。また、サンプルコードが多いほうが早くスキルアップできるので、そういった実践に近い内容の教材を選びましょう!(本記事でもそういった書籍を掲載しています)
- 著者の信頼性
- SQLの本は多くありますが、著者によって書き方や説明が異なることがあります。有名な出版社や著名な著者が書いた本を選ぶと信頼性が高いでしょう。
- クチコミ
- クチコミも非常に重要な要素です。実際にその本を使ってSQLを勉強した人がおすすめするホンは信ぴょう性があります。ぜひ参考にしましょう!
効果的な勉強方法
SQLを身につけるための効率的な勉強方法をしっておきましょう!SQLに限らずどのプログラミング言語もそうですが、「習うより慣れろ」なので、とにかく手を動かしてナンボの世界です。積極的に手を動かすことが習得への近道です!主なポイントとしては以下の通りです。
- SQLの基礎を学ぶ
- SQLの基礎を学ぶことは非常に重要です。テーブル、データ型、クエリの基礎、SELECT文、WHERE句、JOIN句など、基本的な構文と概念を学ぶことが必要です。(まずここが理解できていないと、その後の習得率が下がります。踏ん張りましょう!)
- 実践的な例題に取り組む
- SQLは実践的な例題に取り組むことが非常に効果的です。自分でデータベースを作成し、テーブルを作成し、データを挿入し、検索、更新、削除などの操作を実行してみましょう。(この工程が非常に重要!)
- データベースの設計に取り組む
- データベースの設計はSQLを学ぶ上で重要なステップです。複数のテーブルを作成し、それらを関連付けることができるようになると、より高度なSQLの操作を実行することができるようになります。(データベースを理解すると、SQLの上達速度も早まります!)
- 他の人のコードを読む
- 他の人のSQLのコードを読んで、どのようにクエリが構築されているかを学ぶことができます。SQLのフォーラムやコミュニティに参加して、他の人のコードを見ることをお勧めします。(インターネットの記事や書籍に乗っているサンプルクエリを見るのでも良いです)
- オンラインコースやチュートリアルを受講する
- オンラインには多くのSQLのコースやチュートリアルがあります。自分に合ったコースを受講し、繰り返し練習することで、SQLをより効率的に身につけることができます。
- 実際のプロジェクトに取り組む
- SQLを学ぶ上で最も効果的な方法は、実際のプロジェクトに取り組むことです。自分でデータベースを作成し、実際にビジネスの課題を解決するためにSQLを使用してみましょう。
以上の方法を組み合わせることで、効率的にSQLを学ぶことができます。ただし、継続的な練習が非常に重要であり、繰り返しSQLを書くことで、スキルを向上させることができます。
初心者がSQL入門するときのおすすめ本
早速初心者向けのSQLおすすめ本を紹介していきます。
まず第一ステップとして、SQLを書けるようになりましょう!はじめは入門書を使ってSQLの基本〜RDBMS(データベース)そのものを理解しつつ、SELECT、INSERT、DELETE、UPDATEの四大コマンドを使いこなせうようになりましょう。ちゃんと学習すれば一ヶ月も掛からずに学ぶことができるはず!
入門のおすすめ本①:いちばんやさしい SQL 入門教室
一冊目は「いちばんやさしい SQL 入門教室」です。この本は特に本書では参照系クエリ(SELECT文)の使い方の解説が手厚いです。(もちろん、INSERT、DELETE、UPDATEといった更新系の構文も取り扱います)
本書では、「SQLの構文」「クエリサンプル(例文)」「練習問題」の3ステップで解説されており、個人的にもおすすめな勉強方法である実践をしながらSQLを身につけていく構成なので、そこもおすすめポイントです。
書籍名 | いちばんやさしい SQL 入門教室 |
発売日 | 2019/5/23 |
本の概要 | データベースとSQLの基本と操作がこの一冊でしっかり学べる。 |
どんな人におすすめか | データベースの基本概念や基本操作をゼロから学びたい人や仕事でつかえるSQLを学びたいエンジニア、その他営業やマーケでSQLを使いたい人などにおすすめ! |
おすすめポイント | 「コンピュータはなぜ動くのか~知っておきたいハードウエア&ソフトウエアの基礎知識~」や「プログラムはなぜ動くのか 第3版 知っておきたいプログラミングの基礎知識」などの人気技術書で有名な矢沢 久雄さんが著者なので、とても分かりやすく入門に最適な一冊です。 |
中身(目次) | Chapter 1 SQLを実習するための準備をしよう Lesson 1-1 データベースの基礎を知る Lesson 1-2 MySQLをインストールする Lesson 1-3 実習用データベースを作成する Lesson 1-4 表を作成してデータを登録する Chapter 2 データベースを検索してみよう Lesson 2-1 無条件でデータを検索する Lesson 2-2 条件に該当するデータを検索する Lesson 2-3 複数の条件を指定してデータを検索する Lesson 2-4 あいまいな条件でデータを検索する Chapter 3 整列、集約、表の結合、グループ化をやってみよう Lesson 3-1 データを大きい順や小さい順で表示してみよう! Lesson 3-2 平均値や最大値を求めてみよう Lesson 3-3 社員表と部署表を結合してみよう! Lesson 3-4 データをグループ化する Chapter 4 ビューとサブクエリを使ってみよう Lesson 4-1 ビューを使う Lesson 4-2 サブクエリを使う Chapter 5 更新系のSQLを使ってみよう Lesson 5-1 データの登録を行う Lesson 5-2 データの更新を行う Lesson 5-3 データの削除とトランザクション処理を行う Appendix 目的別SQLリファレンス |
読んだ人のクチコミ | ・SQLが苦手な人におすすめしたい一冊です! ・SQLをこれから学びたい、まだ何も知識はないという初心者に最適な一冊です ・丁寧な入門書ですが、より深いことを知りたいとなったらこれ一冊では足りないです。一冊終えたら中級者向けの本も続けて勉強したいですね |
購入はこちら
入門のおすすめ本②:スッキリわかるSQL入門 第3版 ドリル256問付き!
SQL学習でロングセラーとなっているスッキリわかるSQL入門の第三版「スッキリわかるSQL入門 第3版 ドリル256問付き!」です。これまでより最新で実践に即した内容にアップデートされております。特に、みんながつまづくSQL難所の具体的な解説だったり、256門ものドリルで経験を積んでいく特訓方法など、初学者が学び始めるのに最適な一冊です。
また、インストール不要ですぐに学習を始められる環境が用意されていることも非常におすすめポイントの1つです。(プログラミング学習したときに、最初の環境構築がうまくできずにやる気を削がれて終わってしまうことが多いので・・・笑)
書籍名 | スッキリわかるSQL入門 第3版 ドリル256問付き! |
発売日 | 2022/3/29 |
本の概要 | プログラミング入門書の大人気シリーズ「スッキリわかる入門シリーズ」のSQL版です。ドリルが256問ついており学習→実践→復習を繰り返してスキルを身につけることができます。 |
どんな人におすすめか | 若手エンジニアなどこれからSQLを学び始める人、独学で勉強するのでなるべく解説がわかりやすい本を求めている人 |
おすすめポイント | SQLを勉強していると「なんで動かない?」「このエラーはどうすればいい?」などの壁にぶつかりますが、初学者でも効率よく学んでいくことができます!また第3版でこれまでより実践的で最新の内容に更新されたのでこれから入門する人にピッタリな本です。 |
中身(目次) | 第0章 データベースを学ぶにあたって 第1章 はじめてのSQL 第2章 基本文法と4大命令 第3章 操作する行の絞り込み 第4章 検索結果の加工 第5章 式と関数 第6章 集計とグループ化 第7章 副問い合わせ 第8章 複数テーブルの結合 第9章 トランザクション 第10章 テーブルの作成 第11章 さまざまな支援機能 第12章 テーブルの設計 |
読んだ人のクチコミ | ・人気シリーズなので信頼感があります ・エラー解決虎の巻きが付属していて、そのおかげで独学でも躓かずに学び通すことができました! ・この本でクエリ入門し、最終的にはエンジニアで社員採用されました。きっかけを作ってくれた本書や著者に大変感謝してます |
購入はこちら
入門のおすすめ本③:集中演習 SQL入門 Google BigQueryではじめるビジネスデータ分析
初心者向けのSQLおすすめ本、最後にご紹介するのは「集中演習 SQL入門 Google BigQueryではじめるビジネスデータ分析」です。表題のとおり、データ分析のためのSQL・Google Big Queryに特化した内容のため、データ分析をこれからガッツリ勉強したい人に最適な本です。(これまでの2冊はそこまで目的が無くてもフィットしますが、こちらはbigqueryを使いたい、データ分析を極めたい、などの人向けの入門書となります)
書籍名 | 集中演習 SQL入門 Google BigQueryではじめるビジネスデータ分析 |
発売日 | 2021/2/19 |
本の概要 | 日々のデータ分析で使えるSQLがすぐに身につく!座学と実戦形式で体でSQLを覚えましょう。標準のSQLに準拠した記述作法や基本構文はもちろん、グループ化と集計、テーブルの結合・集合演算、サブクエリからはじまり、ウィンドウ関数、UNNEST関数など関数に至るまで、SQLの基礎〜分析に必要な項目まで網羅的に学ぶことができます。 |
どんな人におすすめか | Bigqueryを使ってデータ分析スキルを身につけたいエンジニアやビジネスパーソン(主に分析メインでプログラミング未経験でも取り組める入門書・参考書です) |
おすすめポイント | 日々のデータ分析で使えるSQLを身につけたい&Google Bigqueryを活用したいなら本書がおすすめです。Googleアカウントがあればすぐに利用できます。もちろん、前提知識や特別な環境のインストールは不要です。 |
中身(目次) | CHAPTER 1 はじめてのSQL CHAPTER 2 BigQueryの利用開始 CHAPTER 3 SQLの基本構文 CHAPTER 4 グループ化とデータの集計 CHAPTER 5 複数テーブルの結合と集合演算 CHAPTER 6 サブクエリ CHAPTER 7 さまざまな関数 CHAPTER 8 ウィンドウ関数 PRACTICE 演習ドリル |
読んだ人のクチコミ | ・Bigqueryを学びたい人にはこの一冊がまずはオススメ(十分すぎるぐらい内容が濃いです) ・230門の問題を解く過程で、アタマで理解してたクエリ文を体で理解できるようになります ・躓かずに最後までやり抜くことができました。素晴らしいbigquery入門書です。 |
購入はこちら
さらに深くSQLを学ぶおすすめ本
第一ステップでSQLを書けるようになった方は、第二ステップとして、SQLを実践で使うためのより深い知識を身に着けていきましょう!SQLとは一体なんなのか?どうすれば高速化できるのか?現場でやりがちなアンチパターンは何か?など深くSQLを理解して初心者を脱しましょう。
中級者おすすめ本①:達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ
初心者向けの本を読み終えたら次に挑戦したい中級者向けのSQLおすすめ本。まずご紹介するのは「達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ」です。こちらはSQLをより深く知りたいエンジニアやプログラマー向けに書かれている一冊で、SQLの根本的な部分を理解できるようになっています。また、ビッグデータ時代に対応した構文なども紹介されており、データ分析をこれからやろうと思っている人にもおすすめです。
書籍名 | 達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ |
発売日 | 2018/10/11 |
本の概要 | SQLを深く知りたいエンジニア向けのロングセラー本!実用的なSQLを深く学びたい人に最適な一冊です。SQLの歴史にも触れられており読み物としても楽しめます。 |
どんな人におすすめか | 初心者を脱して、もっと深く高度な技術・知識を身に着けたいと思っているエンジニアやプログラマー。また、そもそもSQLとはなんなのか?根本的な部分を理解したい人。データ分析にSQLを使いたいマーケター、アナリスト。 |
おすすめポイント | CASE式、ウィンドウ関数、外部結合、HAVING句、EXISTS述語など、正しいSQLの書き方や考え方を学べる一冊です。また、ビッグデータ時代に対応するためのモダンな書き方についても学ぶことができます。また、標準SQLに準拠しているため学びやすいです。 |
中身(目次) | 1 CASE式のススメ 2 必ずわかるウィンドウ関数 Column なぜONではなくOVERなのか? 3 自己結合の使い方 Column SQL とフォン・ノイマン 4 3値論理とNULL Column 文字列とNULL 5 EXISTS述語の使い方 6 HAVING句の力 Column 関係除算 Column HAVING 句とウィンドウ関数 7 ウィンドウ関数で行間比較を行なう 8 外部結合の使い方 9 SQLで集合演算 10 SQLで数列を扱う 11 SQLを速くするぞ 12 SQLプログラミング作法 13 RDB近現代史 14 なぜ“関係”モデルという名前なの? 15 関係に始まり関係に終わる 16 アドレス、この巨大な怪物 17 順序をめぐる冒険 18 GROUP BYとPARTITION BY 19 手続き型から宣言型・集合指向へ頭を切り替える7箇条 20 神のいない論理 21 SQLと再帰集合 22 NULL撲滅委員会 23 SQLにおける存在の階層 |
読んだ人のクチコミ | ・全ての新人に読んで欲しい。書籍名のとおりSQL徹底指南書です ・基本的な構文から特殊な構文まで幅広く対応しており、とても学びになる一冊です ・初心者向けの学習を終えたら必ず読んでおきたいのがこの本ですね。皆さんに推薦したいです。 |
購入はこちら
中級者おすすめ本②:SQL実践入門──高速でわかりやすいクエリの書き方
初心者向けの本を読み終えたら次に挑戦したい中級者向けのSQLおすすめ本。2冊目は「SQL実践入門──高速でわかりやすいクエリの書き方」です。こちらは前述の「達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ」と同じ著者ミックさんが執筆された書籍です。SQLの良い書き方・悪い書き方などの実践でSQLを使っていくために必要な知識が身につく一冊です。
書籍名 | SQL実践入門──高速でわかりやすいクエリの書き方 |
発売日 | 2015/4/11 |
本の概要 | DBエンジニアとして20年のキャリアを持つミックさん著のSQL実践入門です。CASE式やウィンドウ関数を使って主に結合を使用した検索処理の高速化など実践的な内容に触れられる一冊です。 |
どんな人におすすめか | 実務でSQLを使っていきたいエンジニアやプログラマー。SQLを独学しておりこれからSQLの深いところを使えるようになりたいエンジニア見習い、マーケターやアナリスト。 |
おすすめポイント | 「どのようにSQLを高速化するか」という観点から様々なテクニックが紹介され、構文は勿論、DBMSの内部の構造の解説までしている参考書です。 |
中身(目次) | 第1章:DBMSのアーキテクチャ──この世にただ飯はあるか 第2章:SQLの基礎──母国語を話すがごとく 第3章:SQLにおける条件分岐──文から式へ 第4章:集約とカット──集合の世界 第5章:ループ──手続き型の呪縛 第6章:結合──結合を制する者はSQLを制す 第7章:サブクエリ──困難は分割するべきか 第8章:SQLにおける順序──甦る手続き型 第9章:更新とデータモデル──盲目のスーパーソルジャー 第10章:インデックスを使いこなす──秀才の弱点 Appendix A:PostgreSQLのインストールと起動 Appendix B:演習問題の解答 |
読んだ人のクチコミ | ・パフォーマンスをどう改善するか?困ったときに役立ちました ・SQL初心者~中級者向けです。あまり詳しく知らない自分でも理解することができる優しい解説です。 ・本書に書かれている内容を使いこなせたらもう独り立ちできます |
購入はこちら
中級者おすすめ本③:SQLアンチパターン
中級者向けのSQLおすすめ本の最後に紹介するのは「SQLアンチパターン」です。本書はデータベース設計やSQLを記述する時に避けるべきアンチパターン(避けるべきこと)をたくさん紹介してくれており、実務で同じ失敗をしないように指南してくれる良書です。小数値の丸めやNULLの扱いに起因する問題、全文検索やSQLインジェクション、MVCアーキテクチャなど、極めて実践的な内容に触れられております。「この問題ぶち当たったことあるある」という現場のよくあることが25個に渡り紹介されており、現場でガリガリSQLを使っていきたい人は手元に置いておきたい参考書の1つです。
書籍名 | SQLアンチパターン |
発売日 | 2013/1/26 |
本の概要 | データベース設計やSQLを記述する時に避けるべきアンチパターン(避けるべきこと)を事例で紹介する一冊です。本書はDB論理設計、DB物理設計、クエリの記述、アプリケーション開発のそれぞれの分野におけるアンチパターンを紹介し、失敗を避けるためのより良い方法を紹介します。 |
どんな人におすすめか | データベース、SQL、パフォーマンスに関わるすべてのエンジニア。データベース設計やアプリケーション開発に関わるSEやプログラマー。 |
おすすめポイント | 実務で遭遇しがちな失敗例をたくさん紹介してくれるので、事故予防にも参考になります。また失敗した後に「どうすれば防げたのか?」を振り返る時にも手元においておきたい参考書です。 |
中身(目次) | 1章 ジェイウォーク(信号無視) 2章 ナイーブツリー(素朴な木) 3章 IDリクワイアド(とりあえずID) 4章 キーレスエントリ(外部キー嫌い) 5章 EAV(エンティティ・アトリビュート・バリュー) 6章 ポリモーフィック関連 7章 マルチカラムアトリビュート(複数列属性) 8章 メタデータトリブル(メタデータ大増殖) 9章 ラウンディングエラー(丸め誤差) 10章 サーティワンフレーバー(31のフレーバー) 11章 ファントムファイル(幻のファイル) 12章 インデックスショットガン(闇雲インデックス) 13章 フィア・オブ・ジ・アンノウン(恐怖のunknown) 14章 アンビギュアスグループ(曖昧なグループ) 15章 ランダムセレクション 16章 プアマンズ・サーチエンジン(貧者のサーチエンジン) 17章 スパゲッティクエリ 18章 インプリシットカラム(暗黙の列) 19章 リーダブルパスワード(読み取り可能パスワード) 20章 SQLインジェクション 21章 シュードキー・ニートフリーク(疑似キー潔癖症) 22章 シー・ノー・エビル(臭いものに蓋) 23章 ディプロマティック・イミュニティ(外交特権) 24章 マジックビーンズ(魔法の豆) 25章 砂の城 |
読んだ人のクチコミ | ・SQLの書き方自体は理解したけど、結局どう使えば問題ないのかわからないという人にピッタリです ・あるあるアンチパターン集で、実務でよく起こりがちな問題を取り上げてくれています ・一通りデータベースの絡むシステムを実務で経験した後に読むと、点と点が繋がります。 |
購入はこちら
データベースの理解を深めるおすすめ本
SQLを一通り学んだあとに取り組みたい第三ステップまで来ましたね!ここまで来た人はもう入門者を卒業していると思います。最後はさらなる飛躍をしていくために、SQLの外にでて、「データベース」や「設計」といったより俯瞰した部分を学ぶとオススメです。ここでより広い概念を知ることで、これまでのSQLの理解がより深まってくるハズですよ!
DBおすすめ本①:達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ
データベースについて深く学べる本の1冊目は「達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ」です。DB設計の基礎と実践ノウハウを一通り学ぶことができるほか、豊富な事例と演習問題も付いており、正しく理解できているかを本書を通じて確認することができるのが良い点です。達人に学ぶシリーズのため、解説がわかりやすく、かつ実務的な解説も触れられており、入門者が飛躍するときに最適な一冊です。
書籍名 | 達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ |
発売日 | 2012/3/16 |
本の概要 | DB設計の基礎的なところから実践ノウハウまで、これからデータベース設計に取り組みたい!SQLやDB初学者で終わりたくない!といった人におすすめな一冊です。例えば、正規化について、パフォーマンスについてなど主要トピックを網羅してくれます。 |
どんな人におすすめか | データベース設計する時の正しい手法を知りたいSE・エンジニア向け。DB設計やシステム設計にはじめて取り組むため基礎〜実践的な部分まで一気に学びたい人。開発者ではないが実務で在庫管理などのDBを取り扱うシステムを操作するなどユーザーとして利用している非エンジニア。 |
おすすめポイント | DB設計の基礎知識と初級者がつまづきやすいポイント、やってはいけないアンチパターン、実際の事例にも触れられており、はじめてDB設計に取り組む人に参考になります。 |
中身(目次) | 第1章 データベースを制する者はシステムを制す 第2章 論理設計と物理設計 第3章 論理設計と正規化―なぜテーブルは分割する必要があるのか? 第4章 ER図―複数のテーブルの関係を表現する 第5章 論理設計とパフォーマンス―正規化の欠点と非正規化 第6章 データベースとパフォーマンス 第7章 論理設計のバッドノウハウ 第8章 論理設計のグレーノウハウ 第9章 一歩進んだ論理設計―SQLで木構造を扱う |
読んだ人のクチコミ | ・初心者が中級者へステップアップするための最適な一冊です ・データベース設計の初学者におすすめ。基礎〜実践まで幅広く網羅されており、入門に最適です。バッドノウハウも多数紹介されており、本当に助けられました。。。 ・データベースに関する知識ゼロだと難しいですが、EXCELを使えるレベルであればSQLなどシステム知識わからなくても読むことができました |
購入はこちら
DBおすすめ本②:はじめての設計をやり抜くための本 第2版 概念モデリングからアプリケーション、データベース、アーキテクチャ設計、アジャイル開発まで
最後に紹介するのはデータベースを含め、システム開発・設計工程を網羅的に学ぶことができる本「はじめての設計をやり抜くための本 第2版 概念モデリングからアプリケーション、データベース、アーキテクチャ設計、アジャイル開発まで」です。これはシステムをゼロから開発・設計するために必要な工程をカバーしており、設計工程での勘所やアンチパターンも含めて解説してくれています。データベースについては前述の「達人に学ぶDB設計 徹底指南書 初級者で終わりたくないあなたへ」のほうが深い内容ですが、実務で設計する場合など全体の開発フローを理解できるので、本書も取り上げてみました。
書籍名 | はじめての設計をやり抜くための本 第2版 概念モデリングからアプリケーション、データベース、アーキテクチャ設計、アジャイル開発まで |
発売日 | 2022/4/18 |
本の概要 | システムをゼロから開発・設計するために必要な工程をカバー!設計のできるエンジニアになるための必要知識を具体的な手順も含めて幅広く取り扱っています。 |
どんな人におすすめか | はじめてシステム設計を担当することになっSE・エンジニア。上流工程に取り組んでいきたいと思っているSEやプロジェクトマネージャー。 |
おすすめポイント | 本書では計画、要件定義、外部設計、内部設計、実装、テスト、移行といった開発工程まで幅広くカバーしています。アジャイルやマイクロサービスなどモダン開発用語についての解説もあります。 |
中身(目次) | ●導入編 第1章 はじめての設計をやり抜くために ●設計編 第2章 設計の目的 第3章 外部設計の手法 第4章 内部設計の手法 ●アーキテクチャ編 第5章 アーキテクチャの目的 第6章 アーキテクチャ設計のアプローチ 第7章 本当に設計は必要か |
読んだ人のクチコミ | ・設計業務について入門的な位置になるので、新人から経験数年ぐらいの若手エンジニアにおすすめです ・システム開発、設計の大まかな流れを理解したかったので、満足です。詳細はそこまで具体的に書かれてないため、本書はあくまで設計入門の位置づけだと思われます ・レイヤーアーキテクチャや開発標準、ユースケースなど、必要知識を学ぶことができました |
購入はこちら
SQLを独学した人の勉強方法・体験談まとめ
以上、SQL初心者向けの入門書、次にSQL中級になるための本、最後はSQLに閉じずデータベースの理解を深める本まで紹介し、記事を通じてSQLやデータベース、ひいてはSQLを学ぶ上で避けては通れないシステム開発・設計について、3つのステップを踏んで深い知識・スキルを身につけるための本を紹介してきました。
次は自分に限らず、現在SQLを使える人がどのように勉強していったのか?勉強する上で本や参考書、学習サイトは具体的に何を使ったのか?という事例や体験談をリサーチし、記事にまとめてみました!みんなが成功した方法は他の人にもおすすめできる勉強方法と言えると思うので、ぜひ参考にしてみてくださいね!
初心者がSQLを勉強する上で意識したいポイント3つ
複数のSQL初学者の成功事例をみることで、いろいろと成功パターンが見えてきました。抽象的なノウハウとして、初学者・入門者向けのSQL勉強方法をまとめました。
ポイント1:SQLを学ぶ目的を明確にする
SQLの勉強に限らずどのような勉強にも言えることですが「なぜ学びたいのか?」「SQLを学んでどういう分析をしたいのか?」などの学ぶ目的そのものを定義しておくことがとても大切です。
SQLは他のプログラミング言語に比べると、学習にそこまで時間や労力を必要としないですが、それでもなぜ学ぶのかが自分で納得できていないとモチベーションを維持・継続するのは難しいと思います。
ポイント2:SQLの構造や内容を理解する
SQLを練習するときにはコピペ厳禁です!ちゃんと書籍や記事にかかれているクエリの構文や構造そのものを理解しましょう!そこを理解していないと、いつまでたっても学習者の域を出ることはできません。自分のやりたい分析ができるようになるためにも、ちゃんと中身を理解することを意識してくださいね。
ポイント3:ひたすら手を動かしてSQLを書きまくる
さいごに、これが一番大事なポイントですが、とにかく手を動かして、トライ・アンド・エラーを繰り返していきましょう!SQLは「言語」です。言語は使わないと絶対に身につきません。ちゃんとPCを使って、自分でクエリを記述して、試行錯誤しながら身につけるのが一番はやいです。
では、先輩たちの事例を1人ずつ紹介していきます!
SQLを独学で身につけた人の勉強方法その1
1人目はWeb・インターネット系企業のマーケターの事例です!この方はどのようにSQLを独学で勉強・入門したのでしょうか?
①SQLを学ぶ目的を明確にして、納得感を持って学んだ
なぜ、SQLによるデータ分析を学ぶ必要があるのか?をまず考えて、納得感を持って学習を進めていったそうです。たしかに、目的を明確にしてから学ぶことはとても大切ですね。
②データ分析の企業ブログを読んだ
例えば、Gunosyさんの「プロダクト改善のためにウォッチしておくべき7つの指標」などの記事はSQLの実例クエリも書かれていて、実務でクエリを書く上でとても参考になります。
③Progateに課金し、SQLのレッスンをすべてやった
定番のプログラミング学習の入門サイトProgate!自分の記事でも紹介しましたが、ここでもでてきましたね。初心者のSQL勉強するときにほとんどの人が使っている定番のサイトといっても過言ではないですね。
④ひたすら実践でSQLをゴリゴリ書いていった
Progeteで基礎を学んだあとは、ひたすら会社の分析環境でSQLを書きまくったそうです。最初は会社に環境が無かったので、自分のPCのローカル環境に構築したり、SQL問題集で猛特訓をしていったとのこと。ゼロから勉強しはじめようと思っている人はSQL問題集を使うのが良さそうですね!
独学で使用した参考書、入門本
SQLを独学で身につけた人の勉強方法その2
2人目はこちらもWeb・インターネット系企業のプロダクトマネージャーの事例です!この方はどのようにSQLを独学で勉強・入門したのでしょうか?
心構え:習うより、慣れろ。勉強に時間を掛けすぎるのではなく、実践を通して手を動かしながら学ぶのが最も効率がよい
完全に同意します。SQLなどのプログラミング言語は特に「言語」なので座学よりも実際に「話す(書く)」ことが一番効率が良い勉強方法だと思っています。
その上で、この人は以下の流れで独学したようです。
①Progateをまず2周やった
ここでも出ました、Progate!やはり未経験、初心者がSQLを学ぶときの入門サイトとしては人気ですね。課金すると毎月1000円ぐらいかかりますが、数日で終わるので、実質書籍一冊分のお値段で基礎を身につけられるので、コスパもとても良いと思います。(Progateの回し者っぽくなっていますが、違いますw)
②SQLの概念を理解するためにSQL tutorialを読んだ
初学者の人はそもそもデータベースとは何か?があまりイメージついていないと思います。まずは根本的なところを理解したほうが学習速度が上がっていくので、こちらのスライドを読んで学んだようです。
③所属企業のデータベース設計図を読んだ
こちらは企業がそれなりの規模じゃないと難しいかもしれません。社内でER図などのドキュメントが用意されているなら、ぜひそれを読んでみましょう。
④自社のデータベースをひたすら叩いて実践
やはり自社でSQLを実践できる環境があるのは羨ましいですね。社内のエンジニアにメンターとしてついてもらって、躓いたらすぐに質問できたようです。なかなかそういった環境は無いと思うので、完全に独学をするつもりの人は、前の人と同じくSQLドリルで学んでいくのがおすすめです。
独学で使用した参考書、入門本
SQLを独学で身につけた人の勉強方法その3
3人目は未経験からWeb系企業にエンジニアとして入社し活躍している人の事例です!この方はどのようにSQLを独学で勉強・入門したのでしょうか?
①SQLドリル、ポケットリファレンスだけで基礎を習得
この人は完全に自分の力だけで学んだパターンの人です。使った教材は2冊の参考書だけ!スッキリわかるSQL入門とSQLポケットリファレンスの2冊です。これらの本があれば演習問題もできるので、それをやることで手を動かす練習になったようです。つよい!
工夫:SQLを身に着けた先にどんなことをしたいのか?目標を持つ
1人目の方と同じで、ゴールイメージを持って、目的を持って学びましょうということですね。たしかに目的が明確な方がモチベーションも高まりますし、有効な方法かなと思いました。
②入社後は会社のデータベースを叩いてみる練習
エンジニアとして採用されたあとは、実際に会社のデータベースを叩くことで実戦経験を積んでいったそうです。まずは本だけでも基礎的な部分は身につけることはできますが、そのあとプロレベルになっていくためには、やっぱり業務内で使っていくのが最も効率的に学習できる方法なんですね。
独学で使用した参考書、入門本
SQLを独学で身につけた人のおすすめ勉強方法その4
4人目はWeb・インターネット系企業のマーケターの事例です!この方はどのようにSQLを独学で勉強・入門したのでしょうか?
①ProgateのSQLコースを2~3周して基礎を一通り学ぶ
またProgateですね。もうココの説明は省略させていただきます(笑)
②本にある練習ドリルをひたすらこなす
一通りの基礎構文を覚えたら、練習ドリルでひたすら手を動かして学んでいったようです。使った本は「集中演習 SQL入門」とのこと。こちらはGoogle bigqueryをベースにしているのでイマドキの会社さんっぽいですね〜。
③youtube動画をスキマ時間でみる
youtube動画でデータベースの基礎的な知識が学べるようです。こちらの動画などを見ていたようなので、参考にしていただければと思います。
データベース設計入門#1 リレーションとER図【11分でマスター!DB設計】
④達人に学ぶSQL徹底指南書を読む
さいごに「達人に学ぶSQL徹底指南書」という本でより深い知識を身に着けていったみたいです。
心構え:とにかく手を動かしまくるべし
この方も仰っていますが、やはりSQLは本や動画を見て終わりではなく、自分でクエリを書いて試行錯誤しながら身につけるスポーツのようなものだそうです。独学であろうとスクールであろうと、とにかく手を動かすのが最短の近道なので、積極的にSQLを書いて学んでいきましょう!
独学で使用した参考書、入門本
SQLを独学で身につけた人のおすすめ勉強方法その5
5人目は数多くのSQL入門者・初学者を育成してきた人の事例です!この方は自分がどのようにSQLを独学で勉強・入門したというよりは、育成する立ち場として見えてきた勉強方法を紹介してくれました。
心構え:SQLが書けることは手段でしかない。目的を理解せよ
SQLが書けることそのものは手段でして、SQLを書けることでどのようなデータ分析がしたいか?どういうデータが見たいのか?をイメージしておくことが大切とのこと。他の方も言っていますが、わたしもとても共感できます。
①データベースの全体像をまず知る
そもそもデータベースとは何か?というイメージが湧いていない人は、簡単な学習サイトでデータベースやSQLの全体感を把握しましょう。具体的なサイトとしては、ドットインストール、Progate、などなんでも良いそうです。とりあえず1つのサイトのコースを何度かやって、データベースやSQLへの抵抗をなくし理解をすることが第一歩だそうです。
②BIツールで実際にSQLを叩いてみる
こちらは企業内の育成担当の話なので、BIツールを使うことができるみたいです。BIツールとはSQLで出して結果をビジュアル化できるツールのことで、SQLを叩く練習が実践的に行なえます。が、独学をしたい人にはあまり参考にならないので、省略します。
③他人が書いたSQLを読んで理解する
次のポイントは、ネットにあるSQL紹介記事だったり、本の中にでてくるSQLの中身をちゃんと理解するのが大事とのこと。コピペでも動きますが、それでは応用が効かないので、必ず内容を理解して、自分で1文字1文字タイミングしていくことがとても重要だと言っています。
独学におすすめな参考書、入門本
SQLを独学で身につけた人の勉強方法その6
6人目はとあるスタートアップ企業のCEOの事例です!この方はどのようにSQLを独学で勉強・入門したのでしょうか?
①SQLを使ってやりたい分析、目的を決める
やはり鉄板の目的の明確化ですね!ほとんどのSQL習熟者が言っているとおり、なぜSQLを学びたいのか?SQLを使って何をしたいのか?をまず明確にすることが大切なんですね。
②Progateで基礎を覚える
またProgateですね。1周2-3時間とかで終わるので、2-3周やってある程度の基礎を一気に詰め込むのがポイントのようです。
③本を読んでデータ分析のモチベーションを高める
「10年戦えるデータ分析入門」という本を読んで、SQLを学ぶモチベーションを高めていったとのこと。具体的な記述の話もでてくるので、スキル的なアップにもつながるそうです。
④演習サイトでひたすら演習
上記である程度基礎が身につくので、あとはひたすら手を動かして実践トレーニングをしたとのこと。SQLZooというサイトでたくさんの演習ができるのでおすすめだとか。ただ、英語だったり少しとっつきにくい部分があるので、SQLドリルで学ぶのも良いかなと思いました。
独学で使用した参考書、入門本
SQLを独学で身につけた人の勉強方法その7
7人目はとある若手エンジニアの事例です!この方はどのようにSQLを独学で勉強・入門したのでしょうか?
①SQLの基本構文を身につける
まずはselect from などのSQLの基本構文を勉強したそうです。やり方は、progate、本を使って簡単な構文を頭に叩き込んだとのこと。本はこれまでにも紹介しているSQLドリルを使ったみたいです。
②SQLの練習問題をひたすら解く
その後、①で覚えた構文を無意識レベルで使いこなせるようになるまで、SQLの練習問題をひたすら解いたそうです。ざっと1000問以上は解いたとのこと。教材としては、前述のSQLドリル、集中演習 SQL入門、ビッグデータ分析・活用のためのSQLレシピ、など書籍メインで演習をしていったようです。これだけやればもう実践レベルのスキルは身につきそうですね。
③実践環境でSQLを叩きまくる
最後に実務をしている企業のデータを使って分析する環境があったので、実際に「最後に購入して30日以上経過したユーザー数」だったり「ユーザーの平均購入単価を男女別に集計」だったり、実践的な数値集計業務を通して深い部分まで身につけたようです。素晴らしい!
独学で使用した参考書、入門本
SQLを独学で身につけた人の勉強方法その8
8人目はエンジニアを育成する立ち場のおすすめ勉強方法です!この方はどのようにSQLを独学で勉強・入門する手引きをしているのでしょうか?
①DMLをまず学習してもらう
DMLとはSELECT/INSERT/UPDATE/DELETEなどテーブルに対するデータのデータの入力、取得、削除や更新をするコマンドです。何よりもまずはこれら基本構文を覚えてもらうことからスタートするようです。
②テーブル結合やサブクエリなど少し複雑なSQLを書く
基本構文を覚えたら、次にテーブルの結合(JOIN)やサブクエリなど少しずつ複雑なSQLを書く練習をしていきます。JOINやサブクエリ、WITH句などテーブルそのものを結合、作成するSQLを使えるようになると一気に幅が広がるのは共感できます。
③自分でデータベース管理・運用をしてみる
最後に、実際に自分でデータベースを作成し、管理・運用する中で身につけていくそうです。独学でやる人は簡単なWebサービスを作ってみると、嫌でもデータベースと向き合うことになるので、それ勉強方法の1つとしてアリなのかもしれません。
以上、先輩たちの事例を紹介しました!SQLを学ぶことでEXCELではできないデータ分析ができるようになったり、プログラミング言語が習得しやすくなったりと、メリットはたくさんあります。
これからSQL言語を入門していきたいと思っている人は、ぜひ先陣の知恵を活かして、効率的に学習をすすめてみてください!
SQLの気になる話
SQLを書ける人の年収はどのぐらい?
SQLを書ける人の年収は、経験年数や業種、企業規模などによって異なりますが、一般的には300万円から800万円程度が中心となっています。ただし、特に経験豊富で高度なスキルを持つ人や、人材不足がある業界・地域であれば、年収1000万円以上の高額な求人も存在する場合があります。また、大手IT企業や外資系企業などでは、年収が高めの傾向があります。
ただし、これらの数字はあくまで一般的な傾向であり、個人のスキルや経験、交渉力などによって異なることがあります。
初級、中級、上級のスキル感や経験年数のイメージは?
初級レベル:
- SQLの基本的な文法を理解している
- データの検索・抽出・集計ができる
- テーブルの作成・更新・削除ができる
- 経験年数:1年未満
中級レベル:
- 複数のテーブルを結合してデータを取得できる
- サブクエリを使ったデータの取得や更新ができる
- インデックスを使用してクエリのパフォーマンスを最適化できる
- ビュー、トリガー、ストアドプロシージャなどの高度な機能を使える
- 経験年数:2年〜5年程度
上級レベル:
- 複雑なクエリやデータモデリングができる
- パフォーマンスチューニングやデータベースの設計ができる
- ビッグデータや分散処理技術に関する知識がある
- プログラミング言語を使用してSQLを自動化できる
- 経験年数:5年以上
ただし、スキルレベルは経験年数に必ずしも比例しない場合があり、実務経験や学習内容、プロジェクトの規模や難易度などによって異なる場合があります。
非エンジニアがSQLを書けることのメリットは?
プロダクトマネージャーなどの非エンジニアがSQLを身につけることには以下のようなメリットがあります。
- データ分析が容易になる
- SQLを使ってデータベースからデータを抽出し、集計することができるため、データ分析が容易になります。例えば、商品の売り上げや顧客の嗜好を分析して、ビジネスの意思決定に役立てることができます。
- データに基づいた意思決定ができる
- SQLを使ってデータを取得し、分析することで、ビジネスに関するデータに基づいた意思決定ができます。例えば、顧客がどのような商品を購入しているのか、どのような顧客がリピートしているのかなど、データに基づいた意思決定ができます。
- チーム間のコミュニケーションがスムーズになる
- SQLを使ってデータを取得したり、データ分析をしたりすることで、チーム間のコミュニケーションがスムーズになります。例えば、開発チームが実装した機能の効果測定や、マーケティングチームが行った施策の評価などに利用することができます。
- 市場価値が向上する
- SQLは、現代のビジネスにおいて必要不可欠なスキルの一つであるため、SQLのスキルを持つことは市場価値を向上させることができます。SQLのスキルがあることで、データ分析やデータマイニング、ビジネスインテリジェンスなどの分野での求人に応募することができます。
以上のように、SQLを身につけることは、ビジネスの意思決定やチーム間のコミュニケーション、市場価値の向上など、非エンジニアにとっても多くのメリットがあることがわかります。
業務でSQLを書けるようになるために必要なことは?
SQLを業務で活用するスキルレベルになるためには、基本的な文法やデータベースの構造を理解し、実際にクエリを書いてデータを抽出できるレベルまで習得する必要があります。
具体的な学習時間は個人差がありますが、初級レベルであれば、1ヶ月程度の継続的な学習で基本的なクエリの書き方やデータベースの構造を理解できるようになります。中級レベルになるには、半年から1年程度の学習と実務での経験が必要となります。
まずは基本的なクエリの書き方やデータベースの構造について学び、その後、実際にデータを取得したり、結合したり、集計したりするクエリを書く練習をしていきましょう!また、実際の業務でSQLを使う機会や環境があるなら、ぜひ活用していきましょう!(結局、書いてナンボの世界ですので)
SQL初心者を脱したと言うにはどんなクエリを書ければOK?
SQL初心者から中級者になった!と自信を持っていうためには以下のようなクエリを書けるようになることが1つの目安です。
- 複数のテーブルを結合してデータを取得するクエリ
- サブクエリを使用した問い合わせ(WITH句など)
- 集約関数(SUM、AVG、MAX、MINなど)を使用した問い合わせ
- JOIN、WHERE、GROUP BY、HAVINGなどのSQLの基本構文を理解し、独自のSQLを構築できる
以下は、複数のテーブルをJOINして特定の条件で絞り込む例です。
SELECT
c.customer_name,
o.order_date,
p.product_name,
od.quantity,
od.unit_price,
(od.quantity * od.unit_price) AS total_price
FROM customers c
JOIN orders o ON c.customer_id = o.customer_id
JOIN order_details od ON o.order_id = od.order_id
JOIN products p ON od.product_id = p.product_id
WHERE o.order_date >= '2022-01-01' AND o.order_date <= '2022-03-31'
ORDER BY total_price DESC;
このクエリでは、複数のテーブルをJOINし、指定された期間の注文情報と製品情報を取得しています。また、合計金額を算出し、その結果を降順でソートしています。
さいごに&本記事で紹介した書籍
さて、以上が【初心者向け】SQLおすすめ本8冊(独学で入門するステップ付き)ですがいかがでしたか?前回書いた記事「非エンジニアが独学でSQLを学んだハナシと勉強方法 」の反響が予想以上に多かったので続編を書いてみました。前回はSQLの勉強方法や学んで良かったことなどをメインで書いたので「何を使って学んだのか?」は薄くしか書きませんでした。また、あくまでもプロダクトマネージャー向けに最速でSQLクエリを実務で使えるようにする目的で記事を書いたのでSELECT文だけでOKだよと書いてました。実際にはPHP・MySQLでプログラミング学習していた時期もあるので、何気にSELECT文だけではなく、INSERT、UPDATE、DELETE文も少し使うことができます!
▼【注目】Amazonが現在、タイムセールを開催中!
人気の商品が日替わりで登場!お得なタイムセールを実施中!(Amazon)
ぜひ本記事をブックマークしておくなど、何度も思い出してもらえると嬉しいです!
▼もっと本格的にSQLやプログラミングを学びたい人はこちらをどうぞ!