Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.misc -> Re: Join Predicate Question
Vladimir M. Zakharychev wrote:
>>Select
>> From Claims C Inner Join
>> Members M
>>On C.EmpID = M.EmpID
>>and C.BirthDt >= '1980-01-01'
>>
>>
>>Is that more efficient that placing the additional predicate in a Where
>>clause? I guess I'm trying to find out if there is any difference
>>between that statement and this one:
>>
>>Select
>> From Claims C Inner Join
>> Members M
>>On C.EmpID = M.EmpID
>>Where C.BirthDt >= '1980-01-01'
> > > Logically they are identical and should produce the same result. But alas, > there are still bugs in Oracle's ANSI join syntax implementation, even on > 9i R2. For example, there is one which causes join on column=constant > to give incorrect result, and result even depends on order of equality > predicate arguments (constant=column gives different results from > column=constant), while putting equality predicate in where clause always > gives correct results.
So technically, with the expressive join syntax, you don't need a WHERE clause anymore?
> Received on Wed Sep 18 2002 - 13:29:27 CDT