イラストでそこそこわかるSQL SELECT文と並び替え・集約のきほんのきまで

 やわらかそうな見た目の本からやってみようかなと思って先にこれを読んでみることにした

 2021/08/10

  • 0章はMySQLの設定だったので飛ばして、2章まで読んだ。理解しているところは読まなくてもよいかなと思いつつも、前の本には書いてなかったこともあるけれど、それはMySQLとの違いなのかはわからない。
  • MySQLで使えるSQLなので、他データベースでは使えないものもあるから気をつけてとあったけれど、どうやって気をつけたらよいかがわからず不安になりつつ、そこそこわかればいいからあとで調べようと思った
  • FROMの指定の仕方は先にBigQueryでのやり方を勉強しておいてよかった
  • 比較演算子が前に読んでた本よりたくさんでてきたから差分があるのかをあとで調べる
  • 文字列検索のときに使うBINARYも前の本ではでてきたっけな? →索引にはなかった

2021/08/11

  • 3章と4章
  • XOR とか NOT って使うのかな。
  • AND は OR より優先される
  • DISTINCT 重複してないデータ
  • COUNT、SUM、MAX、MIN、AVGは集約関数(集計関数)
  • SELECT句に定数を書くこともできる。レコードが複数あるときは全てのレコードに同じ定数が表示される
  • GROUP BY 集約キー
  • 先に書いた集約キーから順にグループ化していく
  • WHEREとHAVINGのどちらを使うか
    • WHERE句はグループ化を行う前のレコード全体に対する条件
    • HAVING句はグループに対する条件
  • FROM → WHERE → GROUP BY → HAVING → SELECT → DISTINCT の順に実行される
  • 【感想】高校で勉強してたらすんなに身についただろうなと思った。パズルみたいなので、練習したら数学の計算問題みたいに流れるように書けそう。

2021/08/12

  • 5章
  • LIMIT に OFFSET も一緒に書くやり方があったけれど、2番目から3つが LIMIT 2,3 と書くからややこしい。直感的じゃないやつは覚えずに見た目がわかりやすい書き方でよさそう
  • 【感想】2日連続3時に寝たから早めに切り上げようと思ったけれど1時半過ぎてる。これまで勉強したやつの復習なので前には進んでいない。

2021/08/13

  • 6章と7章
  • CASE IF COALESCES CAST
  • サブクエリ
  • 【感想】残り1章になった。エクセルも手書きの四則演算とSUMくらいしかできないからデータをいじるならできた方がよさそうだなと思ってきた。がんばってSQL書くより速いということがありそう。また2時過ぎてしまった。

2021/08/14

  • 8章 テーブルの結合
  • UNION 重複しているデータは除外される
  • UNION ALL 重複させたいとき
  • INNER JOIN → JOIN 重複しているものは除外
  • LEFT OUTER JOIN → LEFT JOIN 重複
  • RIGHT OUTER JOIN → RIGHT JOIN 重複
  • CROSS JOIN すべてのレコードを組み合わせる
  • ON a.id = b.id は USING (id) と書ける。USINGを使うときにはカッコが必要。カッコの中に書く。
  • 【感想】5日で終わったのでまずまずというところかな。