From: | "Jackson, DeJuan" <djackson(at)cpsgroup(dot)com> |
---|---|
To: | Hannu Krosing <hannu(at)trust(dot)ee>, "Thomas G(dot) Lockhart" <lockhart(at)alumni(dot)caltech(dot)edu> |
Cc: | "PGSQL HACKERS (E-mail)" <pgsql-hackers(at)postgreSQL(dot)org> |
Subject: | RE: [HACKERS] JOIN syntax. Examples? |
Date: | 1998-12-14 21:48:25 |
Message-ID: | F10BB1FAF801D111829B0060971D839F573C81@cpsmail |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | 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
From | Date | Subject | |
---|---|---|---|
Next Message | Hiroshi Inoue | 1998-12-14 23:48:58 | RE: [HACKERS] Projecting attributes of function return values |
Previous Message | The Hermit Hacker | 1998-12-14 20:32:54 | Re: [GENERAL] Row Level Locking, On-line Recovery |