Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.misc -> Re: New ANSI SQL not available in Oracle?

Re: New ANSI SQL not available in Oracle?

From: Ed Prochak <prochak_at_my-deja.com>
Date: Fri, 25 Jun 1999 16:58:08 GMT
Message-ID: <7l0ceq$9b1$1@nnrp1.deja.com>

FIRST A MISCONCEPTION CLEANUP: regular join (where clause) and inner join are both ANSI SQL. And they are simply different ways of expressing the exact same query. The older style is part of the level one conformance to the standard. I think inner join comes in at level two. (Don't have my copy handy to verify this.)

Now I'm assuming the comment "compiles faster" refers to the time it takes to parse the SQL statement (by MS SQL Server), which should be so small a part of the total time, that I don't even consider it in most cases. (If parsing the SQL is a significant part of your query execution time, either your total time is very small, or your query is badly malformed.)

So if they are saying:

---inner join is parsed significantly faster than regular join in SQL Server,

   then I'd question the quality of their SQL parser.

but if they mean:

---inner join returns the result set faster than regular join in SQL Server,

   then I'd question the quality of their entire query engine.

Only the human readable syntax differs, so any execution difference has got to be a flaw in their implementation IMHO.

As to why ORACLE does not use the newer systax: ask Oracle. But at least part of the arguement will be that Oracle has significant number of customers with lots of code written in and people skilled writing in level one SQL. Level one was originally the only SQL standard. It was designed to be more user friendly than other languages, i.e., it was designed so Managers could write queries. At least that was the goal.

 If this is the best arguement SQL Server advocates have to offer for their product, then they are in sad shape.

In article <7l08mr$7mv$1_at_nnrp1.deja.com>,   yong321_at_yahoo.com wrote:
> I read this at a MS SQL server group. If the new syntax is faster, why
> is Oracle not adopting it?
>
> Yong
> yong321_at_yahoo.com
>



> Subject: Re: The difference between left join and regular select
>
> These are just two different ways to achieve the same result.
>
> The second method is considered "old". Perhaps someday it will be
> abandoned. I believe Sybase and Oracle still only use this method.
>
> The first one is the ANSI-SQL type, introduced in MS-SQL Server 6.5.
It
> compiles faster and you should prefer it.
>
> P.A.
>
> fran wrote in message <7kuouj$a2v_at_nntpb.cb.lucent.com>...
> >Should anybody tell me the difference between the left join and the
> regular
> >select clause, to me it seems give the same result:
> >1.
> > select a.col1,a.col2,b.col3,b.col4
> > from table1 a
> > inner join table2 b
> > on a.item1=b.item2
> >2.
> > select a.col1,a.col2,b.col3,b.col4
> > from table1 a,table2 b
> > where a.item1=b.item2
> >
> >The above two will give the same result.
> >Will anybody give me an explanation?
> >
> >Thanks in Advance
>
> Sent via Deja.com http://www.deja.com/
> Share what you know. Learn what you don't.
>

--
Ed Prochak
Magic Interface, Ltd.
ORACLE services
440-498-3702

Sent via Deja.com http://www.deja.com/
Share what you know. Learn what you don't. Received on Fri Jun 25 1999 - 11:58:08 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US