On Thu, Dec 21, 2017 at 4:53 PM, Victor Yegorov <vyego...@gmail.com> wrote:

>     postgres=# select except select;
>     --
>     (2 rows)
>     postgres=# select intersect all select;
>     --
>     (2 rows)
>
> Why is it so?
> Should this be reported as a bug?.. ;)
>

​The intersection case seems correct - one row from each sub-relation is
returned since ALL is specified and both results as the same.

The except case looks like a bug because there should never be more rows
returned from the combined query than the upper sub-query returns alone.
Based upon the result of intersect it should in fact return zero rows -
unless this one of those null-like scenarios where it is both equal and not
equal at the same time...

David J.
​

Reply via email to