Re: Using the query INTERSECTion - Mailing list pgsql-general

From Vincenzo Romano
Subject Re: Using the query INTERSECTion
Date
Msg-id 200706181942.55594.vincenzo.romano@gmail.com
Whole thread Raw
In response to Re: Using the query INTERSECTion  (Martijn van Oosterhout <kleptog@svana.org>)
Responses Re: Using the query INTERSECTion  (Tom Lane <tgl@sss.pgh.pa.us>)
List 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]

pgsql-general by date:

Previous
From: "Jonah H. Harris"
Date:
Subject: Re: [pgsql-advocacy] [PERFORM] [ADMIN] Postgres VS Oracle
Next
From: Andreas Kostyrka
Date:
Subject: Re: [PERFORM] [ADMIN] Postgres VS Oracle