From: | Guillaume Lelarge <guillaume(at)lelarge(dot)info> |
---|---|
To: | "Daniel Serodio (lists)" <daniel(dot)lists(at)mandic(dot)com(dot)br> |
Cc: | "Nelson A(dot) de Oliveira" <naoliv(at)gmail(dot)com>, pgadmin-support(at)postgresql(dot)org |
Subject: | Re: RFE: Use JOIN instead of WHERE in Graphical Query Builder |
Date: | 2012-07-18 20:43:39 |
Message-ID: | 1342644219.1989.89.camel@localhost.localdomain |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgadmin-support |
On Tue, 2012-07-17 at 20:06 -0300, Daniel Serodio (lists) wrote:
> Nelson A. de Oliveira wrote:
> > Hi!
> >
> > On Tue, Jul 17, 2012 at 7:36 PM, Daniel Serodio (lists)
> > <daniel(dot)lists(at)mandic(dot)com(dot)br> wrote:
> >> I'm using pgAdmin 1.14.3, and its Graphical Query Builder generates WHERE
> >> clauses for joins. It would be nice if it generated JOIN clauses instead.
> >
> > Is there any kind of difference between WHERE or JOINs in PostgreSQL?
> > Aren't they all a cartesian product internally?
> They may be implemented the same way in PostgresSQL,
They are.
> but they're two different concepts.
How so?
> Because of this, I find it a lot easier to
> understand a complex query when the joins are in a JOIN clause.
>
I do agree here.
> In more practical terms, it's easier to change "a JOIN b ON a.pk = b.fk"
> to "a LEFT JOIN b ON a.pk = b.fk" (just have to type the LEFT keyword,
> regardless of which tables/columns are used) then change "WHERE a.pk =
> b.fk" to "WHERE a.pk = b.fk OR b.fk IS NULL" (have to add "OR b.fk IS
> NULL", which changes according to which tables/columns are used).
>
Yes, and it's less risky. If you use a JOIN, you have to add a ON clause
if you don't want to get a syntax error. That protects you from
cartesian product.
To get back on the request, that could be interesting to do, and
probably not hard.
--
Guillaume
http://blog.guillaume.lelarge.info
http://www.dalibo.com
From | Date | Subject | |
---|---|---|---|
Next Message | Guillaume Lelarge | 2012-07-18 21:23:57 | Re: Rename database destroys server connections |
Previous Message | Guillaume Lelarge | 2012-07-18 20:40:24 | Re: Search the schema |