Re: [GENERAL] Simulating an outer join - Mailing list pgsql-general

From Sarah Officer
Subject Re: [GENERAL] Simulating an outer join
Date
Msg-id 387CC7CA.7D2AB0F5@aries.tucson.saic.com
Whole thread Raw
In response to Simulating an outer join  (Bruce Momjian <pgman@candle.pha.pa.us>)
Responses Re: [GENERAL] Simulating an outer join  (Bruce Momjian <pgman@candle.pha.pa.us>)
text field data transfer?  (<kaiq@realtyideas.com>)
List pgsql-general
Can somebody comment on using EXISTS vs. IN in a subselect?  I have
some statements with subselects, and I'd like to understand the
ramifications of choosing EXISTS or IN.

Sarah Officer
officers@aries.tucson.saic.com

Mike Mascari wrote:
>
> Bruce Momjian wrote:
> >
> > I have been thinking about how to simulate an outer join.  It seems the
> > best way is to do:
> >
> >         SELECT tab1.col1, tab2.col3
> >         FROM tab1, tab2
> >         WHERE tab1.col1 = tab2.col2
> >         UNION ALL
> >         SELECT tab1.col1, NULL
> >         FROM tab1
> >         WHERE tab1.col1 NOT IN (SELECT tab2.col2 FROM tab2)
> >
> > Comments?  I know someone was asking about this recently.
> >
>
> I wouldn't use IN ;-)
>
> SELECT table1.key, table2.value
> FROM table1, table2
> WHERE table1.key = table2.key
> UNION ALL
> SELECT table1.key, NULL
> FROM table1 WHERE NOT EXISTS
> (SELECT table2.key FROM table2 WHERE table1.key = table2.key);
>
> Mike Mascari
>
> ************

pgsql-general by date:

Previous
From: tayers@bridge.com
Date:
Subject: Re: [GENERAL] identifying performance hits: how to ???
Next
From: "T.D. Brace"
Date:
Subject: Postgresql vs Mysql