Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Re: Oracle outer join syntax (+) not working???
DA Morgan wrote:
>
> I would appreciate a correction if I am wrong but my understanding
> has been that the (+) join operator was the ISO standard prior to ISO
> 99 when the ISO and ANSI standards were, in a sense, merged.
>
I find that SQL Validator is a good place to check: http://developer.mimer.se/validator/
I also found SQL BNFs here:
http://savage.net.au/SQL/
Contrary to what I said before I realise I don't have the SQL89 doc.
However, the later docs do cover deprecated features as well, but not
the Oracle (+) syntax. Everything I read says that outer joins weren't
introduced until SQL92. See
http://www.wiscorp.com/is_sql_a_real_standard.pdf for example.
> You might note that this operator also exists in Sybase and SQL Server.
> It is not just an Oracle syntax.
Not in Microsoft SQL Server and I'm pretty sure not in Sybase either (although it's been 10 years since I did much Sybase SQL). Sybase and MSSQL do have the equally proprietary *= / =* syntax, which is similar to Oracle but not quite equivalent. In particular, differences could occur due to the evaluation order of joins relative to other comparison operators.
The old *= syntax has been deprecated by SQL Server for years and I almost never come across it anywhere. What suprises me is that Oracle's (+) syntax still seems to be common. Given the important advantages of the standard syntax (full joins; non-equijoins; well-defined evaluation order; portability) it's odd that it doesn't seem to have gained the universal acceptance in the Oracle world the way it has done elsewhere.
-- David PortasReceived on Sat Jun 17 2006 - 14:19:36 CDT
![]() |
![]() |