SQLでのワイルドカード検索の留意点
WHERE句の条件でワイルドカードを使って全件ヒットをさせるのに『%』のみで検索します。
しかし、これだとNULLの項目はヒットしないのです。
したがって、以下のようにNULL比較条件をORで繋げます。
SELECT 項目名 FROM テーブル名 WHERE (検索項目 LIKE '%') OR (検索項目 IS NULL)
この単純なサンプルに関しては、実は、WHERE句は必要ありませ(全件検索なので)。
しかし、実際はもっと複雑な条件になったときに、つねにNULLの項目を考慮しないといけないのです。