Thread: difference between join syntax

difference between join syntax

From
Natan
Date:
Can anyone tell me if there is any difference between these two commands:

select * from table1, table2 where table1.id = table2.id
   and
select * from table1 inner join table 2 on table1.id = table2.id

I checked the query plan for both and they appear exactly the same. But
in this case, i am working with only two tables in a very simple
join.... What i would like to know is: in a production environment with
lots of joins and where clauses, does it make any difference to write in
one form or in the other, or the joins are like shortcuts to the first form?


Re: difference between join syntax

From
Tom Lane
Date:
Natan <nvivo@mandic.com.br> writes:
> Can anyone tell me if there is any difference between these two commands:
> select * from table1, table2 where table1.id = table2.id
>    and
> select * from table1 inner join table 2 on table1.id = table2.id

Nope.

> I checked the query plan for both and they appear exactly the same. But
> in this case, i am working with only two tables in a very simple
> join.... What i would like to know is: in a production environment with
> lots of joins and where clauses, does it make any difference to write in
> one form or in the other, or the joins are like shortcuts to the first form?

With more than two tables, it *can* make a difference.  If using 7.4,
see
http://www.postgresql.org/docs/7.4/static/explicit-joins.html
Earlier versions were a bit different --- make the obvious change in
the URL to see the corresponding docs for your version.

            regards, tom lane