>> 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
> select * from t1 x, t1 y where x.b <> y.b;
a b c a b c
No rows found.
> select * from t1 x, t1 y where x.b = y.b;
a b c a b c
No rows found.
> select * from t1 x, t1 y where not x.b = y.b;
a b c a b c
No rows found.
> select * from t1 x, t1 y where not x.b <> y.b;
a b c a b c
No rows found.
> select * from t1 where a = b;
a b c
No rows found.
> select * from t1 where a <> b;
a b c
No rows found.
>
The false seems not to be commutative.
Feel free to ask for more
Andreas