@kyanny's blog

My thoughts, my life. Views/opinions are my own.

SQL を勉強している

達人に学ぶ SQL徹底指南書 (CodeZine BOOKS)をぺらぺらと読んでいる。ウェブで読めるから本は買わなくていいって書いたけど嘘だった本があったほうがいい。ミックさんすいませんでした。 CodeZine のうざいメンバー登録とかしなくても読めるので本を買ったほうがいい。

集合論がどうだ、とか難しいことが書いてある。 CASE 式の使い方がさっぱりわからない。どういうときに使えばいいのだこれは。

外部結合と内部結合がどう違うのかが、なんとなく頭の中でイメージできた。二つの表を横に並べて、片っぽ欠ける行を残すのが外部結合で、削っちゃうのが内部結合、きっちり真四角な表が欲しければ内部結合で、欠けてガタガタでもいいから欠けるなってときは外部結合。

CASE がわけわかめなので当然 HAVING もわからない。

サブクエリはほんの少しだけ、わかったようなわからないような?サブクエリの仕組みとかからくりは身になってなくて、でもランキングを作る SQL を何度も読んで書いていたら P2.price < P1.price とかいうあたりはなんとなくこれでいいんだよなって気がしてきた。

自己非等値結合ってなんやねんと最初にみたときはびびったけど、 JOIN のときに t1.c1 = t2.c1 て = でつなぐのが等値結合で、それ以外の比較演算子 < > <> を使うから非等値結合。これはすんなりわかった。自己ってのは同じテーブル同士を結合するので、自分自身。