I wrote:
>>> In the second query, the first two rows have been grouped, but
shouldn't
>>> they not be since b is NULL? I thought that NULL != NULL?
>
>Note that:
>NULL <> NULL is false
>NULL = NULL is false
This was wrong, I digged up some more docu and found:
<something> op NULL is unknown note that there exists a
third boolean state (name it ?)
`Unknown values occur when part of an expression that uses an arithmetic
operator is null.`
If a whole where expression evaluates to unknown the row is not chosen.
not: t -> f, f -> t, ? -> ?
and: ? and t -> ?, ? and f -> f, ? and ? -> ?
or: t or ? -> t, f or ? -> ?, ? or ? -> ?
Order by: `Null values are ordered as less than values that are not
null.`
but
NULL {>|<|<=|>=} value is unknown
Andreas