2022年3月1日解決済み

NULL は WHERE での絞り込みでは引っかからないという認識で合っていますか?

ユーザー

いつも分かりやすい説明で助かっています。ありがとうございます。

・WHERE likes != 12; で NULL のレコードは抽出されない。
・NULL も含むなら OR IS NULL が必要。
・NULL を含まないものなら IS NOT NULL を使う。

これらを見て少し混乱しそうなのですが、 mysql.com を読んでみると、 NULL は

存在しない不明な値

と書いてあり、また

算術比較演算子を使用して NULL をテストすることはできません。

など書いてあり、その続きは読んでも私には難解で分かりませんでした。

・NULL は不明な値なので、通常の比較がされない(できない)ので WHERE でヒットしない(含まれない)。
・比較する(含めたりする)には IS NULL や IS NOT NULL などが必要なので WHERE の中に記述する必要がある。

といった認識で合っていますでしょうか?

スタッフ

この回答を見るにはプレミアムプランへの登録が必要です

プレミアムプランとは?