SQLのbool条件でNULL行が全部落ちる

症状 → 原因 → 対処の流れで整理しています

  1. 症状何が起きているか

    `WHERE flag = false` だけ書くと、NULL のレコードが結果に出てこない

  2. 原因なぜ起きるか

    SQL では NULL との比較は UNKNOWN となり、false 条件から除外される

  3. 対処どう対処するか

    `WHERE flag IS NOT TRUE` や `(flag = false OR flag IS NULL)` など、意図に合わせて NULL を明示的に扱う