Tja, ik vind het ook niet logisch.
Van
_alles_ kun je stellen A == A, behalve van NULL... Geen wonder dat je overal 'wazige' constructies tegenkomt met een lijst dingen die het mag zijn, oh, en een afwijkende manier erbij want het mag ook (al dan niet) NULL zijn...
where X in (A, B, C, D, E, NULL)
wordt dan
where (X is NULL) or (X in (A, B, C, D, E))
Er valt omheen te werken, natuurlijk, maar "if !A return true else return false" herschrijf je ook naar "return !A"... Wat is nu concreet het grote voordeel van het behandelen van NULL als een of ander wazig ding ipv als
één van de waardes die een kolom kan hebben?
Is dat puur gedaan voor joins / where met een source-kolom?