NULL dans les expressions logiques

Nous avons déjà considéré que not (NULL) résulte en NULL. Pour les opérateurs AND et OR, l'interaction est un peu plus compliquée :

NULL or false ? NULL
NULL or true ? true
NULL or NULL ? NULL
NULL and false ? false
NULL and true ? NULL
NULL and NULL ? NULL
Example 1. NULL ? expressions logiques
(1 = NULL) or (1 <> 1)    -- returns NULL
(1 = NULL) or FALSE       -- returns NULL
(1 = NULL) or (1 = 1)     -- returns TRUE
(1 = NULL) or TRUE        -- returns TRUE
(1 = NULL) or (1 = NULL)  -- returns NULL
(1 = NULL) or UNKNOWN     -- returns NULL
(1 = NULL) and (1 <> 1)   -- returns FALSE
(1 = NULL) and FALSE      -- returns FALSE
(1 = NULL) and (1 = 1)    -- returns NULL
(1 = NULL) and TRUE       -- returns NULL
(1 = NULL) and (1 = NULL) -- returns NULL
(1 = NULL) and UNKNOWN    -- returns NULL