SQLの入門者や未経験者におすすめの本
ここに記載している本は、自分も読んだことあってかつ良い本だなと思った本だけ紹介します。\(^o^)/
紹介している以外にも、もっと色んなSQL関連書籍を読んでるけど正直うーん。。。とか自分には合わなかった本があるのでここに紹介している本も自分には合わないと思ったら自分にあった本を探しましょう!
SQL以外のプログラム言語等の勉強にもいえる事だと思うのですが、まず体系的に基礎を一気に勉強することが大事です。
(ネットで調べながら勉強だと知識が歯抜けになりやすいんですよね。。。)
だから入門書を1冊買って(もしくは、持ってる人に譲ってもらったりして)短期間で体系的に勉強するのがSQLを自分のものにする一番の近道だと思います。
SQL 第2版 ゼロからはじめるデータベース操作 (プログラミング学習シリーズ)
僕もこの本で、SQLの基礎を勉強しました。まず体系的にまとまっていてとてもわかり易いです。
ちなみにこのブログは、Oracle関連の事柄を多く投稿してますが、この本は標準的なSQLをベースに書いてるので入門者にうってつけの本だと思います。
スッキリわかるSQL入門 第2版 ドリル222問付き! (スッキリシリーズ)
SQLの入門書としては、上で紹介した「SQL 第2版 ゼロからはじめるデータベース操作」と「スッキリわかるSQL入門」のどっちか1冊買っておけば間違いないのかなと思います。
(別に2冊買ってもいいと思いますが、重複する内容も多いのでどっちか1冊で十分な印象です。)
こちらの本も体系的にまとまっていて、標準的なSQLをベースに書いてます。
余談ですが「スッキリわかる」シリーズは、自分自身がJavaの勉強で大変お世話になったシリーズです。「スッキリわかる」シリーズは、ほんとに噛み砕いて説明がされていてわかりやすい。この本に関してもわかりやすく解説されていて、更に巻末のドリルで考えながらSQLを書くことができるのが良い点です。\(^o^)/
実践レベルのSQLを学びたい人におすすめの本
正直なところ良書がありすぎてどれをおすすめするか迷いますね\(^o^)/でも厳選して2冊紹介します。
達人に学ぶSQL徹底指南書 第2版 初級者で終わりたくないあなたへ
僕が読んだのは、初版版ですがほんとに良書ですね。(実務でSQL触る人は頼むからこの本を読んでほしい。。。)
SQLの入門書を読み終わって少し実務経験を積んでからこの本を読むとこんな使い方ができるのか!と発見ができるような1冊だと思います。
また、理論的にSQLの考え方についても言及していて例えば、なぜ「NULL」を比較するときに「=NULL」ではなく「IS NULL」と記述するか説明できますか?
こんな誰もがSQL書いててふと疑問に思うことについても記述していて、一読の価値のある本だと思います。
著者のミックさんは、入門者におすすめの本で紹介した「ゼロからはじめるデータベース操作」の著者でもあります。
SQLアンチパターン
この本も良書ですね。SQLの記述以外のDB設計についても書いてます。
データベースのやっちゃダメな事を紹介してなぜやってはダメなのかどうすべきなのか?を解説してくれます。
これも「達人に学ぶSQL徹底指南書」と同じようにそうだったのかと発見のある1冊だと思います。(これも実務でデータベースさわる人、特に設計する人に読んでほしいなぁ。。。)
【番外編】Oracleの入門者におすすめの本
SQLの基礎がわかっていれば、どのDBMSを使用する際にもググれば大抵のことは問題になりません。
ただし、設計やパフォーマンスのチューニングや障害の解決に関しては、Oracle等のDBMS独自のアーキテクチャを理解することがとても重要だとおもいます。
ここでは、Oracleのアーキテクチャの基礎をわかりやすく理解できる本を紹介します。
ちなみに実務でOracleを使う人の場合のおすすめの本なので、SQLを初めて触る人や勉強したいって人が買ってもあまり役にたたない可能性が高いので注意してください。
プロとしてのOracleアーキテクチャ入門【第2版】(12c、11g、10g 対応) 図解と実例解説で学ぶ、データベースの仕組み (Oracle現場主義)
Oracleがどういう風に動いているのかをわかりやすく解説してくれています。
パフォーマンス・チューニングや障害が発生した際にアーキテクチャやOracleの特徴をつかんでおく事は、自分自身の理解や解決の際に役に立ちます。
あとがき
ここで紹介した本以外にも良書はあると思います。(というかどれを紹介するか結構迷いました。)
SQLやプログラム言語の勉強ではアウトプットがとても重要ってよく言われますが、良質なインプットもそれと同じくらい重要です!!!
今回紹介した良書でたくさんインプットしてたくさんSQL書いてSQLを自分のものにしましょう!\(^o^)/
コメント