Versuchen Sie etwas wie:
where (X.Name <> 'xxx' or X.Name is null)
and (XY.Product <> 1 or XY.Product is null)
Da per Definition NULL
ein unbekannter Wert ist (etwas vereinfacht, aber OK für diese Erklärung), wird er weder gleich noch ungleich einem gegebenen Wert sein - deshalb ist IS NULL
ist hier erforderlich.