= NULL è sempre unknown (questo è un pezzo di logica a 3 stati), ma WHERE la clausola lo considera false e gocce dal set di risultati. Quindi per NULL dovresti usare IS NULL
I motivi sono descritti qui:Perché NULL =NULL restituisce false in SQL Server