Re: ANSI Join improvement

From: Aloha Kakuikanu <aloha.kakuikanu_at_yahoo.com>
Date: 21 Jun 2006 14:01:36 -0700
Message-ID: <1150923696.554408.59090_at_i40g2000cwc.googlegroups.com>


kvnkrkptrck_at_gmail.com wrote:
> Aloha Kakuikanu wrote:
> > kvnkrkptrck_at_gmail.com wrote:
> > > At the risk of being labeled a crank...
> > >
> > > I'm looking for someone to tell me whether my idea for improving the
> > > ANSI Join syntax has any merit. One thing about the current syntax
> > > that often strikes me is I usually join tables on identically named
> > > columns, and NATURAL joins are perfect for this situation:
> >
> > You don't need ANSI Join syntax. It's ugly, redundant, and plain
> > dangerous (think of NATURAL JOIN).
> >
> I disagree 95%. (I would have disagreed less, before just now learning
> about the USING keyword). I think separating the join conditions from
> the selection conditions was a wise semantic decision, and have found
> that it makes "pick up a query and figure out what it does" much
> easier.

Sorry, but no. The old syntax hinges on the existence of normal form for SPC algebra ("the Alice book", page 55). Basically, it allowes writing projections, restrictions, and cartesian products in any order. Many people found this intuitive.

Let me quote Antony Molinaro (author of popular "SQL Cookbook"):

"Old style is short and sweet and perfect. Ansi dumbed it down, that's the bottom line. And for people who've been developing for sometime, It's wholly unnecessary."

> And don't get me started on how glad I am to never have to use
> "a = b(+)" construct again.

OUTER JOIN is the only justification. In my lifetime (which spanned enough to write a SQL book) I used outer join perhaps once or twice. Received on Wed Jun 21 2006 - 23:01:36 CEST

Original text of this message