From: Oliveiros C, <oliveiros.cristina@marktest.pt>
To: Louis-David Mitterrand <vindex+lists-pgsql-sql@apartia.org>
To: pgsql-sql@postgresql.org
Subject: Re: "left join" not working?
Date: Fri, 12 Feb 2010 12:17:35 -0000
Message-ID: <723CFC801B0846B9B31DCE45B62222FA@marktestcr.marktest.pt> (raw)
References: <20100212111453.GA16318@apartia.fr>
<34E07A4C4CDA4FFCB56CD63C675568ED@marktestcr.marktest.pt>
<20100212115747.GA21659@apartia.fr>
Yes, because your WHERE is something that comes after the operation
of the LEFT JOIN, in practice, defeating the purpose you intented.
On your second query the p.id_line = 1 doesn't do that because it is part of
the LEFT JOIN itself..
HTH
Best,
Oliveiros d'Azevedo Cristina
----- Original Message -----
From: "Louis-David Mitterrand" <vindex+lists-pgsql-sql@apartia.org>
To: <pgsql-sql@postgresql.org>
Sent: Friday, February 12, 2010 11:57 AM
Subject: Re: [SQL] "left join" not working?
> On Fri, Feb 12, 2010 at 11:35:02AM -0000, Oliveiros C, wrote:
>> My first guess is that
>> NULL fails the condition on your WHERE clause,
>> p.id_line = 1
>>
>> So your WHERE clause introduces an additional level of filtering
>> that filters out the NULLs coming from the LEFT JOIN...
>
> So, if I understand correctly, a WHERE filters all results regardless of
> join conditions and can turn an OUTER JOIN into an INNER JOIN.
>
> Thanks for pointing that out!
>
> --
> Sent via pgsql-sql mailing list (pgsql-sql@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-sql
>
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: oliveiros.cristina@marktest.pt, vindex+lists-pgsql-sql@apartia.org
Subject: Re: "left join" not working?
In-Reply-To: <723CFC801B0846B9B31DCE45B62222FA@marktestcr.marktest.pt>
* 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