В стандартном SQL UNION
удаляет повторяющиеся записи, UNION ALL
- нет.К счастью, ваша СУБД достаточно умна, чтобы понять, что NULL IS NULL
, и удаляет дубликаты строк, когда используется UNION
.
Примечание: null = null
равно unknown
, однако null <> null
равно unknown
какЧто ж.Единственный способ проверить недействительность - использовать что-то вроде IS NULL
.
SELECT case when null <> null then 1 else 0 end; --> yields : 0
SELECT case when null = null then 1 else 0 end; --> yields : 0
SELECT case when null IS null then 1 else 0 end; --> yields : 1