Re: [HACKERS] JOIN syntax. Examples?

Thomas Lockhart <lockhart@alumni.caltech.edu>

From: "Thomas G. Lockhart" <lockhart@alumni.caltech.edu>
To: "Jackson, DeJuan" <djackson@cpsgroup.com>
Cc: Dan Gowin <DGowin@avantec.net>, "PGSQL HACKERS (E-mail)" <pgsql-hackers@postgreSQL.org>
Date: 1998-12-11T22:11:28Z
Lists: pgsql-hackers
> Microsoft SQL Server v6.5 have SQL92 join syntax.  I don't have the
> standard in front of me but here's what I remember.

OK, it's pretty clear that Oracle doesn't implement SQL92-syntax on
outer joins (unless they support it as an alternative; does anyone find
"OUTER JOIN" in the syntax docs?).

Let's assume that M$ may be close to standard, but given that they don't
bother following standards in other areas (WHERE x = NULL, etc) we can't
use them as a truth generator.

We are looking for a system which supports syntax like DeJuan gave:

SELECT * FROM (A LEFT OUTER JOIN B USING (X));
or
SELECT * FROM (A LEFT OUTER JOIN B ON (A.X = B.X));

etc. if we are going to try for the SQL92 standard,

rather than the Oracle form:

SELECT * FROM A, B WHERE A.X = (+) B.X;

or the Informix form:

SELECT * FROM A, OUTER B WHERE A.X = B.X;
  (is the WHERE clause required here?)

Does anyone have a non-M$ RDBMS which implements SQL92 joins?

otoh, any system which can test the results of a query, even if the
query needs to be translated first, has some benefit. As/if I progress
I'll take some of you up on the offer to run queries.

                     - Tom