SakuraWi - BLog

WEBエンジニア。聴いたお話をまとめておく倉庫的な。スタックストックスタック!

達人に学ぶSQL徹底指南書


書きかけなところがありますが、年末アウトプットということで公開にしておきます。

全体の思惑

  • サブクエリの理解は必須
  • 相関サブクエリはパフォーマンスは遅いものの、かなりの対応幅を効かせることができる
  • 集合としてとらえる。SQLを考えるときは集合論。
  • not exist最強説

where句は1行のレコードを引っ張るための条件

havingやgroup by とごちゃごちゃになりがちだが、whereはあくまで1行を洗濯するための条件。 そのため比較する対象はレコードの1行を比較対象とする。

1-9

「全ての行の座席の状態が「空」であること」 は、SQLで表現するのであれば

「条件Pを満たさない行が存在しない」 と二重否定文に同値変形することで実現させる。

not EXISTと、 サブクエリのselectを使用する。

考え方は、引っ張ってくる行があるか?ないか?で考える。 1行でも引っ張ってくる(条件にマッチする)ものがあれば、NOT EXISTはtrueにならない。