Re: mix ANSI and Oracle JOINs?

From: Kerry Osborne <kerry.osborne@xxxxxxxxxxx>

To: jkstill@xxxxxxxxx

Date: Thu, 23 Dec 2010 12:09:41 -0600

I believe you wrote a whole chapter on Subquery Factoring in a recently
released Apress book, right? ;)
I have to say that I find ANSI join syntax considerably less clear in its
intent. I also seem to see more errors with it than with the traditional Oracle
join syntax. I'm not sure whether that's due to the syntax itself or the
developers that tend to use it. But I do think the fact that it is less
straight forward contributes to the mistakes. I'm not sure Oracle even directly
supports mixing the syntax by the way (I would not want to combine them, even
if it is documented). I actually saw an example this week. It was a very simple
statement, so the error is easy to spot. But in more complicated examples with
many tables and many join conditions it can be difficult to locate the problem.
Here's what I saw this week (cleaned up to protect the guilty):
select ...
from table_1 a left join table_2 b on a.name = b.name, table_3 c
where ...
Unfortunately, table_3 had about 40 million records. The query ran for a few
hours before it got killed.
Kerry Osborne
Enkitec
blog: kerryosborne.oracle-guy.com
On Dec 23, 2010, at 11:38 AM, Jared Still wrote:
> On Thu, Dec 23, 2010 at 8:08 AM, Kenneth Naim <kennethnaim@xxxxxxxxx> wrote:
> I also find the ansi syntax difficult to read and format when
> inline views are present.
>
>
> this is easily rectified by using query subfactoring (WITH clause) rather
> than
> inline views.
>
> I've never like inline views simply because they make the queries so much
> more difficult to understand.
>
>
> Jared Still
> Certifiable Oracle DBA and Part Time Perl Evangelist
> Oracle Blog: http://jkstill.blogspot.com
> Home Page: http://jaredstill.com