From: | Stephan Szabo <sszabo(at)megazone23(dot)bigpanda(dot)com> |
---|---|
To: | Yuva Chandolu <ychandolu(at)ebates(dot)com> |
Cc: | "'pgsql-hackers(at)postgresql(dot)org'" <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: Outer join differences |
Date: | 2002-07-31 04:31:26 |
Message-ID: | 20020730212709.B12379-100000@megazone23.bigpanda.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On Tue, 30 Jul 2002, Yuva Chandolu wrote:
> Hi,
>
> I see different results in Oracle and postgres for same outer join queries.
> Here are the details.
Those probably aren't the same outer join queries.
> When I run the query "select yt1_name, yt1_descr, yt2_name, yt2_descr from
> yuva_test1 left outer join yuva_test2 on yt1_id=yt2_id and yt2_name =
> '2-name2'" on postgres database I get the following results
>
Both conditions are part of the join condition for the outer join.
> But when I tried the same on Oracle(8.1.7) (the query is "select yt1_name,
> yt1_descr, yt2_name, yt2_descr from yuva_test1, yuva_test2 where
> yt1_id=yt2_id(+) and yt2_name = '2-name2'') I get the following result
One condition is the join condition and one is a general where condition I
would guess since only one has the (+)
I think the equivalent query is
select yt1_name, yt1_descr, yt2_name, yt2_descr from yuva_test1 left outer
join yuva_test2 on yt1_id=yt2_id where yt2_name='2-name2'.
Note of course that you're destroying the outer joinness by doing
that yt2_name='2-name2' since the rows with no matching yuva_test2
will not match that conditoin.
From | Date | Subject | |
---|---|---|---|
Next Message | Christopher Kings-Lynne | 2002-07-31 04:35:13 | Re: Outer join differences |
Previous Message | Curt Sampson | 2002-07-31 04:31:15 | Re: Why is MySQL more chosen over PostgreSQL? |