It is same logic as
SELECT * from #t
WHERE NOT ISNULL(id,0) = 1
or
SELECT * from #t
WHERE ISNULL(id,0) != 1
Both the queries will produce same result, since in first query = has greater proirity than not it will check "ISNULL(id,0) = 1" and apply not to that ..
but later one is clear in understanding.