Prøv noget som:
where (X.Name <> 'xxx' or X.Name is null)
and (XY.Product <> 1 or XY.Product is null)
Siden, per definition NULL er en ukendt værdi (en smule forenklet, men OK for denne forklaring), vil den hverken være lig med eller ikke lig med en given værdi - det er derfor IS NULL er påkrævet her.