= NULL siempre es unknown (esto es parte de la lógica de 3 estados), pero WHERE la cláusula lo trata como false y cae del conjunto de resultados. Así que para NULL deberías usar IS NULL
Las razones se describen aquí:¿Por qué NULL =NULL se evalúa como falso en el servidor SQL?