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 or flat)
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

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-2014 The PostgreSQL Global Development Group