はじめに
みなさんこんにちは、torihaziです
今日はタイトルの本を読んでみたので、そのアウトプット回です
個人的には 最後の概念設計あたりが山場でしたね。
それではltg
スッキリわかるSQL入門 第3版 ドリル256問付き! (スッキリわかる入門シリーズ) | 中山 清喬, 飯田 理恵子, 株式会社フレアリンク |本 | 通販 | Amazon
どんな本だったか 1言で!!
圧倒的物量で知識定着をゴリ押される書籍
よかったこと
問題量が豊富
書籍タイトルにもありますが、巻末に256問の問題があります。
簡単なSELECT から 副問い合わせ、複数テーブル間の結合問題まで嫌になるくらいあります。
ちなみに僕は心が折れかけました。( ´ ▽ ` )
ただ やり切れば自信はつくと思います。
事実、取り組む前は CASE WHEN~
やCOALESCE
などはおろか書き方もまともに知らない状態でしたが、
何度も出てくるのでもう使い方は覚えることができました。
あとは INSERT INTO
と UPDATE
のあとは SET か VALUESなのかとかそう言うものもですね。
これだけやれば、身につくというかこびりついて離れなくなります。
私はこのような学習本は"知識のつらつら述べるだけでなく演習量があるか"どうかも重要であると考えています。
そのためこの点については本書籍はとてもよかったと思います。
手を動かして試せるdokoQLがあること
dokoQLは本書籍の発行会社が提供しているオンラインのSQL学習用webサービスのことです。
書籍で扱っているテーブルが実際に同サービス上で用意されており、それに対してSQLも実行することができます。
そのため、自分で考えたSQLを実行して学習を進めることができます。
悪かったこと
問題の解答に少し誤植がある
問題演習をやっている間に気づいたのですが、解答に誤植がありました。
経験者ならわかるかもしれませんが、初心者にとっては
こう言う書き方もあるのね。参考になります。
となってしまいます。そこから調べることで更なる学力向上となりますが
うーんと思ってしまいました。
dokoQLにSQL実行上限があること
dokoQLには巻末の問題に対応するテーブルも用意されているので、
それらに対してもSQLを実行可能です。
ただSQL実行上限が100回です。
もちろんリセットは可能なのですが、指定した回までリセットというものではなく全リセットです。
初期テーブルからINSERT
やUPDATE
のような更新処理をしながら作り上げていくので
途中で上限に達してしまった時は台パンしたくなりました。
特にINSERT
が20個ほどあった最終問題の時は応えました。
学んだこと
意外と数があったSQLの関数たち
私は去年、他スクールさんでSQLについてはみたことがあったので完全初見ではありませんでした。
しかし文中で何度も触れていますが、CASE WHEN
などは知りませんでした。
CASE WHENについては書き方が2通りあり、使い分けは下記になります。
- CASE カラム名 WHEN 条件式 THEN 値 ->条件が 同値比較(a=b)のもの
- CASE WHEN 条件式 THEN 値 ->条件が数値比較 (a>=bなど)のもの
また非NULL時の値を表現する際に使用するCOALESCE
は面食らいました。
COALESCE
はCOALESCE(カラムa,'カラムaがnullだったときに表示する値')の形で使用します。
これから機会があれば積極的に使っていきたいと思います。
エイリアスのas は省略可能
テーブル間の結合において出てくるテーブル名のエイリアス(tableA as hoge)が省略可能であったことです.
dokoQLは1回あたりのSQL文の文字列上限が200文字であったのでよく使いました。
これについては解答をみて知りましたが、誤植かと思いました。
難しかったこと
概念設計におけるエンティティの抽出方法について
冒頭においても触れていますが、エンティティの抽出方法が難しかったと思います。
今もあまり理解できているとは思えません。
現実世界の物体、事象をどのようにSQL
で扱えるようにデータ化するかを設計するフェーズだと思いますが、うーんという状況です。
この後に読むことになっているDB設計の書籍で理解できたらいいなと思っています。
巻末問題の問題文の日本語
SQL以前の問題です。
1問あたりの文章が長く、条件の抽出に苦労しました。
私は1度に全てSQLを作り切ろうとしてしまうので
段階を踏んで、1条件ずつクリアするやり方をしていったほうが良いと感じました。
終わりに
いかがだったでしょうか。
初心者である方にとっては良書であると思います。
書籍自体は分厚く心が萎えてしまう方も多いと思うので
電子書籍を試してみるのもありかと思います。
1つずつクリアしていったら見える景色は必ずいいものになります。
さーっと読み進めるだけでわかったつもりになるのは危険です!
絶対に一番起きてほしくないときにそのつけが回ってきます。
手を動かして学習するすることをマストしてください!
萎えたら僕にDMください。松岡修造みたいに励ましてあげます。
何度も言いますが、辛いですけど強くなれます。
頑張ってください。
僕も頑張ります。