RE: [HACKERS] JOIN syntax. Examples?

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

Browse pgsql-hackers by date

  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