Clem Dickey <dickeycl@us.ibm.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>, <queryterm>, or <query primary> could consist of a <joinedtable>.
Noneof those three elements can consist of a <joinedtable> in this edition of ISO/IEC 9075.
regards, tom lane