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 -~----------~----~----~----~------~----~------~--~---