From: | Waldemar Bergstreiser <littlesuspense(at)web(dot)de> |
---|---|
To: | Scott Marlowe <scott(dot)marlowe(at)gmail(dot)com> |
Cc: | pgsql-general(at)postgresql(dot)org |
Subject: | Re: |
Date: | 2009-06-30 08:00:04 |
Message-ID: | 1744577139@web.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
> On Mon, Jun 29, 2009 at 2:08 PM, littlesuspense<littlesuspense(at)web(dot)de> wrote:
> > Hi Volk,
> >
> Note that the word outer is just noise in pgsql, i.e. it's not needed.
> What you've got are left outer, right outer, and full outer joins.
> All can be called just left, right, or full joins. Note that inner
> joins are just called joins.
>
> > select * from a, outer b where a.id = b.id;
>
> select * from a full join b on (a.id=b.id) where ...
> select * from a left join b on (a.id=b.id) where ...
> select * from a join b on (a.id=b.id) where ...
this is only a simple case, but outer can make syntax more clean in complicated joins.
Just try to rewrite query below with left outter joins. I had not found any compact syntax.
-- c *= b *= a =* d =* f
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;
>
> and so on.
>
> > And surely, I would like to see that also in postgresql.
>
> What you get with postgresql is mostly ANSI standard stuff, which
> left/right/full outer and inner joins are.
>
And I like that, but each SQL RDMS system and each SQL dialect de facto provide also a lot of standard extensions. So the RDMS user has a choice, to use such extensions or not. And I think postgres can only win if we it have more and very sane extensions.
I think so.
______________________________________________________
GRATIS für alle WEB.DE-Nutzer: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://movieflat.web.de
From | Date | Subject | |
---|---|---|---|
Next Message | Richard Huxton | 2009-06-30 08:02:39 | Re: Unexpected behaviour of date_part |
Previous Message | Dave Page | 2009-06-30 07:35:09 | Re: masking the code |