なんか偉そうなタイトルですいません。
SQLとはデータサイエンティストやデータアナリストなどの職種では必須のプログラミング言語です。
そこについて知識と経験が溜まってきたのでここいらでその辺りを紹介します。
初心者でSQLの本を探している人
本の中身が知りたい!
ひろゆきがデータサイエンス勧めてたけど、どこから学んだら良いかわからない
という方は参考にして下さい。
全くの0からの方にはこの1冊
SQLを触ったことない人にはこの本からがおすすめです。
SQLのシェアの半分はMYSQLとも言われております。なので最初にMYSQLの本を触れとくのは無難と言えましょう。この本では最初の最初からSQLを会話形式で学べるし、ドリルというだけあって問題も豊富です。最初に学ぶにしては分厚いですが、さらさら読めるので是非立ち読みでもしてみてください。
POSGRESQLならこちらのサイトもオススメ。
https://www.dbonline.jp/postgresql/install/
インストールから基本構文が無料で学べるので便利です。最初の頃はこのサイトを参考にしながら実務できるのも良いところ。
脱初心者を目指すための4冊
上の本を読んでおけば基本構文は理解できます。しかしSQLでは
・個人で独学するにも手元にデータ(ビックデータ)が無い。(数十〜数百万のデータとか)
・とは言え実務で経験を積むにしてはドリルだけだと厳しい。
という場面に直面します。(私はしました。。)そこで、「これ読んどけば実務で独り立ちできるくらい」になれる本を紹介します。独り立ちというのは
・SQL の構文理解と実行ができる
・分析プログラムのロジック理解と分析結果検証
・データ匿名化方法の理解と加工処理の設計
などです。(データサイエンス協会参照)
前処理大全は「SQLの基本文法を理解した」から「実務で何とかできる!」までの間を取り持ってくれます。BQ、Python、Rの3つの言語で書いてくれるのも初心者には嬉しいところです。こちらを辞書がわりにその他のことを適時ネットで調べれば何とか食らいついていけるはず。
前処理大全で「SQLは何とか書けるけれど、なんか苦手意識が、、、」という方(私とか)にはこの本。SQLは集合志向の言語だよーという解説から入るところが秀逸で読み物としても面白いです。集合志向の言語と言われてピンと来なければ買い。
こちらは前処理大全であまり深掘りできていない(と感じている)サブクエリやウィンドウ関数などが学びやすくて良い感じ。人によっては「達人に学ぶSQL徹底指南書」の方が良いという場合もあるので、サブクエリやウィンドウ関数なんかは上記2冊を読み比べしてみて下さい。
後述しますが、コードは読まれる前提で書かなければなりません。自分のノリで書いて、あとでクライアントから全修正を言い渡されるなんて笑い話にすらなりません。その辺りのお作法を教えてくれるのが本書。これも手元に置いておきましょう。
まとめ
というわけで今回はSQL本でした。5〜6冊で抑えるのは中々難しく、次点もあるのでここいらは随時追記していきます。