From: Daryl Richter <daryl@brandywine.com>
To: pgsql-sql@postgresql.org
Subject: Re: how to do 'deep queries'?
Date: Tue, 27 Sep 2005 09:24:06 -0400
Message-ID: <433947F6.7060106@brandywine.com> (raw)
In-Reply-To: <3C6C2B281FD3E74C9F7C9D5B1EDA4582182570@wgexch01.wgenhq.net>
References: <3C6C2B281FD3E74C9F7C9D5B1EDA4582182570@wgexch01.wgenhq.net>
Anthony Molinaro wrote:
> that query is 100% correct.
>
> it's just an equijoin (a type of inner join) between 3 tables.
>
> the syntax you show is how queries should be written and is more
> representative of what a joins between relations really are:
> Cartesian products with filters applied
>
> the ansi syntax, the explicit JOIN ... ON stuff is (imho) unnecessary,
> useful only for outer joins since all the vendors did it differently.
>
Whether you feel that is unnecessary or not, it *is* the ANSI Standard
and is thus, by definition, "how queries should be written."
In addition to cleaning up the outer join issue, it was added to make
the *intention* of the query clearer.
Because others are likely to read your query many more times than you
write it, clarity of intent *is* important.
> what you have will work for postgreSQL, I used the syntax you show in my
> book
> for every single join recipe except for outjoins.
>
> are you seeing errors?
>
> regards,
> Anthony
[original snipped]
--
Daryl
"We want great men who, when fortune frowns, will not be discouraged."
-- Colonel Henry Knox, 1776
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-sql@postgresql.org
Cc: daryl@brandywine.com
Subject: Re: how to do 'deep queries'?
In-Reply-To: <433947F6.7060106@brandywine.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox