Thread: Oracle to PostgreSQL help: What is (+) in Oracle select?

Oracle to PostgreSQL help: What is (+) in Oracle select?

From
Christopher Audley
Date:
I'm trying to modify an application which runs on Oracle to run against 
PostgreSQL.  I'm currently stuck on a query that I can't recognize, it 
doesn't look like standard SQL.

A select is done across two tables, however when joining the foreign 
key, the right hand side of the equallity has (+) appended

SELECT o.* from one o, two t where o.key = t.key(+)

Does anyone know what this does and how I can reproduce the select in 
PostgreSQL?

Thanks
Chris



RE: Oracle to PostgreSQL help: What is (+) in Oracle select?

From
Michael Davis
Date:
This is Oracle's syntax for an outer join.  Try this in PostgreSQL

SELECT o.* from one o LEFT JOIN two t ON o.key = t.key;

-----Original Message-----
From:    Christopher Audley [SMTP:Christopher.D.Audley@jhu.edu]
Sent:    Friday, March 16, 2001 3:57 PM
To:    pgsql-sql@postgresql.org
Subject:    Oracle to PostgreSQL help:  What is (+) in Oracle select?

I'm trying to modify an application which runs on Oracle to run against 
PostgreSQL.  I'm currently stuck on a query that I can't recognize, it 
doesn't look like standard SQL.

A select is done across two tables, however when joining the foreign 
key, the right hand side of the equallity has (+) appended

SELECT o.* from one o, two t where o.key = t.key(+)

Does anyone know what this does and how I can reproduce the select in 
PostgreSQL?

Thanks
Chris


---------------------------(end of broadcast)---------------------------
TIP 3: if posting/reading through Usenet, please send an appropriate
subscribe-nomail command to majordomo@postgresql.org so that your
message can get through to the mailing list cleanly



Re: Oracle to PostgreSQL help: What is (+) in Oracle select?

From
"Joe Conway"
Date:
> A select is done across two tables, however when joining the foreign
> key, the right hand side of the equallity has (+) appended
>
> SELECT o.* from one o, two t where o.key = t.key(+)
>
> Does anyone know what this does and how I can reproduce the select in
> PostgreSQL?

Hi Chris,

The (+) in Oracle is for an outer join. See
http://www.postgresql.org/devel-corner/docs/postgres/sql-select.html , in
the join-type description, left outer join. Outer joins are only available
in PostgreSQL 7.1, which is currently in the late stages of beta testing.

Hope this helps,

Joe




Re: Oracle to PostgreSQL help: What is (+) in Oracle select?

From
Richard Poole
Date:
On Fri, Mar 16, 2001 at 05:57:14PM -0500, Christopher Audley wrote:
> I'm trying to modify an application which runs on Oracle to run against 
> PostgreSQL.  I'm currently stuck on a query that I can't recognize, it 
> doesn't look like standard SQL.
> 
> A select is done across two tables, however when joining the foreign 
> key, the right hand side of the equallity has (+) appended
> 
> SELECT o.* from one o, two t where o.key = t.key(+)
> 
> Does anyone know what this does and how I can reproduce the select in 
> PostgreSQL?

It's an outer join. In Postgres it'd be

SELECT o.* from one left outer join two using ( key )

but it's new in 7.1 .

Richard