= NULL jest zawsze unknown (to jest część logiki 3 stanów), ale WHERE klauzula traktuje to jako false i spada z zestawu wyników. Więc dla NULL powinieneś użyć IS NULL
Powody są opisane tutaj:Dlaczego NULL =NULL daje wartość false w serwerze SQL