The following bug has been logged online:
Bug reference: 5506
Logged by: Fernando Cano
Email address: fcano@uniovi.es
PostgreSQL version: 8.4
Operating system: Ubuntu 9.04
Description: Error in the grammar of de joins
Details:
This sentences are valid with your grammar but generate an error.
create table t1 ( id_t1 smallint, name text);
create table t2 ( id_t2 smallint, name text);
select * from natural join using (id) ;
select * from t1 natural cross join t2;
select * from natural cross join using (id) ;
select * from t1 join t2;
select t1 natural left join t2;
I have problems when I explain to my students the sintax of the joins.
I use this sintax, but I'm not sure:
from_item {CROSS | NATURAL join_type } JOIN from_item
from_item join_type JOIN from_item [ ON join_condition | USING ( join_column
[, ...] ) ]
where join_type is:
[ INNER ] | {LEFT |RIGHT | FULL} [ OUTER ]