On Jan 27, 2009, at 10:14 AM, Jon Nelson wrote:

>
> My understanding is that some databases prefer the explicit JOIN
> syntax from an optimization POV, and of course the explicit JOIN
> syntax is ANSI SQL. Googlin' suggests that the ANSI syntax is
> preferred (perhaps even required) by some engines, but of course
> that's an unreliable source.
>
> I am curious why SA chooses to do it this way instead of with a JOIN.
> I don't think it is /WRONG/, I'm merely curious.

an implicit join is certainly also ANSI SQL compliant.   the JOIN  
keyword could be used here too but in fact historically, the JOIN  
keyword is the one with issues - its not supported on Oracle 8 and  
earlier, MySQL wants you to say "INNER JOIN", etc.    From a SQL  
rendering point of view the implicit join is easier to work with here  
since it is just an extension to the WHERE criterion, meaning a join  
on a secondary table works in various thorny situations such as EXISTS  
subqueries, etc.   SQLA certainly has enough capability to support  
rendering it the other way but that explicit JOIN is preferred from an  
optimization pov seems like something I'd want more concrete  
confirmation on.


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"sqlalchemy" group.
To post to this group, send email to sqlalchemy@googlegroups.com
To unsubscribe from this group, send email to 
sqlalchemy+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/sqlalchemy?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to