Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Re: Join Predicate Question
> 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.
-- Vladimir Zakharychev (bob@dpsp-yes.com) http://www.dpsp-yes.com Dynamic PSP(tm) - the first true RAD toolkit for Oracle-based internet applications. All opinions are mine and do not necessarily go in line with those of my employer.Received on Wed Sep 18 2002 - 09:53:28 CDT
![]() |
![]() |