RE: [HACKERS] JOIN syntax. Examples?
От | Jackson, DeJuan |
---|---|
Тема | RE: [HACKERS] JOIN syntax. Examples? |
Дата | |
Msg-id | F10BB1FAF801D111829B0060971D839F573C81@cpsmail обсуждение исходный текст |
Список | pgsql-hackers |
> -----Original Message----- > Thomas G. Lockhart wrote: > > > > > The book "The Practical SQL Handbook", which is often > recommended on > > > these lists, uses the syntax `*=' and `=*' for left and > right outer > > > joins (page 211). I think we ought to support this > syntax as well, > > > since it will save new users from confusion. > > > > This one conflicts with Postgres' operator extensibility > features, since > > it would look just like a legal operator. > > so does = > > Could it be possible to extend the operator extensibility features > to achieve the behaviour of outer/cross joins ? > > > The two books I have at hand (besides my old Ingres docs) > are A Guide to > > the SQL Standard by Date and Darwen and Understanding the New SQL by > > Melton and Simon. Both focus on SQL standard syntax, and > neither mention > > the various outer join syntaxes accepted by Oracle, > Informix, or Sybase. > > Has anybody tried out DB2 ? > > I have downloaded it (for linux) but have not yet tried it. > > > An explanation for the lack of standards compliance by the big three > > probably involves the fact that they predate the standard by a > > significant number of years. > > Not to mention that both =* and =(+) are more concise and easier to > follow, at least for one with my headshape. > > The standard is probably the 'worst common denominator' or something > like that :( > Microsoft SQL Server v6.5 also support the Sybase syntax =* and *=, but I found that syntax for more limiting than the SQL92 Standard syntax. I'm not sure how it would be implemented in Postgres but in both Sybase and M$ SQL you couldn't perform an Outer Join on an Outer Joined table using the =* *= syntax. Also, we'd need an extension for cross join, *=*. My vote is to implement the SQL92 Standard, it's far more flexible and we don't have to shift with the tide when Oracle decides to change to %= =% to be it's join operators. And if it makes anyone feel better; the M$ SQL v6.5 docs state that *= =* would be depreciated in M$ SQL v7.0. Haven't seen 7.0 so don't know if they went through with it (or will).-DEJ
В списке pgsql-hackers по дате отправления: