sql - Why are the two queries different (left join on ... and ... as opposed to using where clause) -
i'm wondering why next 2 queries produce different results (the first query has more rows second).
select * bring together ... bring together ... bring together c on ... left bring together b on b.id = a.id , b.otherid = c.otherid
as opposed to:
select * bring together ... bring together ... bring together c on ... left bring together b on b.id = a.id b.otherid = c.otherid
please help me understand. in sec query, left bring together has 1 status shouldn't include results first query , more (where rows have unmatched otherid
). where
clause should ensure otherid
matches, in first query. why different?
the where
performed first query engine before performing join
. reasoning beingness why expensive join
, if going filter rows later. query engines pretty @ optimizing query write.
also see effect in outer join
s. in inner joins both where
, join
conditions behave same.
sql oracle
No comments:
Post a Comment