Skip site navigation (1) Skip section navigation (2)

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 (view raw, whole thread or download thread mbox)
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).

pgsql-hackers by date

Next:From: Hiroshi InoueDate: 1998-12-14 23:48:58
Subject: RE: [HACKERS] Projecting attributes of function return values
Previous:From: The Hermit HackerDate: 1998-12-14 20:32:54
Subject: Re: [GENERAL] Row Level Locking, On-line Recovery

Privacy Policy | About PostgreSQL
Copyright © 1996-2017 The PostgreSQL Global Development Group