MySQLでの発見

select
  t1.column_a,
  t2.column_b
from
  table_a as t1
    left join table_b as t2 on (t1.hoge = t2.hoge and t2.make_date <= 'xxxx')
where
  t2.column_b is null

こんな感じで、left joinしたテーブルに対しての条件を、
更にwhere句で追加できるとは知らなかったです。
勝手にできないものだと思っていました。

この場合、t2.column_bがnullではないものは、left join on で指定してしまえばOKなのですが、
nullの場合、カラムの値がnullでなくても、make_dateの条件に合致しなければ、nullが
取得されるので、今までは取得結果をループで回してnull以外のデータをはじいてました。

これで、無駄なソースが減る場所がいくつかあったので、メモです。

MySQLでの発見