Боюсь, вы ошибаетесь в своем предположении. Хотя вы можете связать значения NULL в целом, оператор WHERE bar = NULL
не вернет вам никаких строк, ни с помощью необработанного SQL, ни из PDO. Весь этот оператор будет вычисляться до NULL и не будет соответствовать ни одной строке.
Вместо этого вы можете использовать NULL-безопасный, равный оператору <=>
, для соответствия полям, которые являются либо NULL, либо имеют некоторые стоимость. Но чтобы иметь значения, которые не равны нулю, вы все равно должны иметь другой запрос.