Re: - Mailing list pgsql-general

From Tom Lane
Subject Re:
Date
Msg-id 17347.1246372003@sss.pgh.pa.us
Whole thread Raw
In response to Re:  (Waldemar Bergstreiser <littlesuspense@web.de>)
List pgsql-general
Waldemar Bergstreiser <littlesuspense@web.de> writes:
> Just try to rewrite query below with left outter joins. I had not found any compact syntax.

> select * from a, outer( b, outer c), outer (d, outer f )
> where a.b_id = b.id and b.c_id = c.id and a.d_id = d.id and d.f_id = f.id;

This has got pretty much the same problem as Oracle's syntax: there's no
principled way to decide what it *means*.  Which join is each of the
WHERE conditions supposed to be attached to, and why?  What do you do if
you want a behavior slightly different from whatever the engine decides
it means?

The standard's syntax is a bit more verbose, but at least it's perfectly
clear which conditions are outer-join conditions and which are filters.

            regards, tom lane

pgsql-general by date:

Previous
From: Tom Lane
Date:
Subject: Re: Unexpected behaviour of date_part
Next
From: regis.boumera@steria.com
Date:
Subject: Data corruption (8.2.5 Windows XP)