Re: Using the query INTERSECTion

From: Vincenzo Romano <vincenzo(dot)romano(at)gmail(dot)com>
To: pgsql-general(at)postgresql(dot)org
Subject: Re: Using the query INTERSECTion
Date: 2007-06-18 17:42:55
Message-ID: 200706181942.55594.vincenzo.romano@gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On Monday 18 June 2007 19:27:35 Martijn van Oosterhout wrote:
> On Mon, Jun 18, 2007 at 04:10:41PM +0200, Vincenzo Romano wrote:
> > Hello everyone.
> >
> > In order to build some dynamic queries (EXECUTE under PL/PgSQL)
> > I'm taking in consideration to use the INTERSECT operator in
> > order to split a WHERE-condition in a static one and a dynamic
> > one to be built at runtime.
>
> The INTERSECT will almost certainly be slower, basically because
> all the joins will have to be processed twice. Also, the results
> won't be quite the same, especially with respect to duplicate
> records and NULLs.
>
> Have a nice day,

I think you are right, but I could rely on the cache to be affective
and thus relieving the performance loss.

But now I have one more thing. The following command will fail with
a syntax error:

SELECT * FROM (SELECT 1 ) a INTERSECT (SELECT 2 ) b;

Because of the second (harmless) table alias.
In my mind it should work. Or not?

--
Vincenzo Romano
--
Maybe Computer will never become as intelligent as Humans.
For sure they won't ever become so stupid. [VR-1988]

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Andreas Kostyrka 2007-06-18 17:46:33 Re: [PERFORM] Postgres VS Oracle
Previous Message Jonah H. Harris 2007-06-18 17:38:44 Re: [pgsql-advocacy] [PERFORM] Postgres VS Oracle