Re: join and where clause equivalent ? - Mailing list pgsql-novice

From Dmitry Tkach
Subject Re: join and where clause equivalent ?
Date
Msg-id 3EE5F1F5.7070607@openratings.com
Whole thread Raw
In response to join and where clause equivalent ?  (Nabil Sayegh <postgresql@e-trolley.de>)
Responses Re: join and where clause equivalent ?  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-novice
Nabil Sayegh wrote:

>Hi all,
>
>is
>
>"SELECT * FROM a JOIN b USING (id_a)"
>
>fully equivalent to
>
>"SELECT * FROM a, b WHERE a.id_a=b.id_a" ?
>
>Which is faster ?
>
>TIA
>
>
I think, the latter form gives the optimizer more freedom in choosing
the query path.
In terms of the results, the two are equivalent, as for which is faster
depends on how much you trust the optimizer - if you know exactly why a
should be the outer table in the join, then the first form is better, if
you want to leave the decision to the optimizer, then the second from is
for you.


pgsql-novice by date:

Previous
From: Nabil Sayegh
Date:
Subject: join and where clause equivalent ?
Next
From: Josh Berkus
Date:
Subject: Re: Inheritance design question