Re: "<query expression body> ::= <joined table>" grammar rule not accepted by Postgres

From: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
To: Clem Dickey <dickeycl(at)us(dot)ibm(dot)com>
Cc: pgsql-sql(at)postgresql(dot)org
Subject: Re: "<query expression body> ::= <joined table>" grammar rule not accepted by Postgres
Date: 2011-06-16 05:59:12
Message-ID: 19449.1308203952@sss.pgh.pa.us
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

Clem Dickey <dickeycl(at)us(dot)ibm(dot)com> writes:
> This expression is (I think) a well-formed query, but is rejected by
> Postgresql 8.4 (t is a table name).

> t t1 NATURAL JOIN t t2;

Hmm ... I think you are looking at SQL92 or SQL99. The later versions
of the spec don't seem to permit <joined table> to be used that way.
In particular, in SQL:2003 and SQL:2007 I don't see any derivation path
from <query expression> to <joined table>. So while we possibly could
support this, it's legacy syntax, and I doubt there's enough interest to
bother.

[ digs a bit more... ] Ah, here we are: Annex E of SQL:2003 calls out
various incompatibilities from SQL:99, notably

6) In ISO/IEC 9075-2:1999, a <query expression body>, <query
term>, or <query primary> could consist of a <joined
table>. None of those three elements can consist of a <joined
table> in this edition of ISO/IEC 9075.

regards, tom lane

In response to

Responses

Browse pgsql-sql by date

  From Date Subject
Next Message Clem Dickey 2011-06-16 19:07:56 Re: "<query expression body> ::= <joined table>" grammar rule not accepted by Postgres
Previous Message Clem Dickey 2011-06-15 21:50:09 "<query expression body> ::= <joined table>" grammar rule not accepted by Postgres