Re: Difference between IN and JOIN

From: Markus Bertheau <twanger(at)bluetwanger(dot)de>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-sql <pgsql-sql(at)postgresql(dot)org>
Subject: Re: Difference between IN and JOIN
Date: 2004-10-04 14:23:49
Message-ID: 1096899829.2651.13.camel@dicaprio.akademie1.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-sql

В Пнд, 04.10.2004, в 16:17, Tom Lane пишет:
> Markus Bertheau <twanger(at)bluetwanger(dot)de> writes:
> > I lately wondered if there is a difference between a JOIN and a IN in
> > queries similar to the following:
>
> > SELECT f1 FROM t1 JOIN t2 ON (t.f2 = t2.f2) WHERE t2.f3 = x
>
> > SELECT f1 FROM t1 WHERE t1.f2 IN (SELECT f2 FROM t2 WHERE f3 = x)
>
> > As I see it there's no semantic difference between the two.
>
> There's plenty of difference, if t2 contains repeated occurrences of f2
> values.

In my case f2 is the primary key of t2. I probably didn't state the
point of my question well enough: You can write an IN query as a
semantically equal JOIN. I wondered, which one I should prefer, and on
which grounds.

Thanks

--
Markus Bertheau <twanger(at)bluetwanger(dot)de>

In response to

Browse pgsql-sql by date

  From Date Subject
Next Message C. Bensend 2004-10-05 03:56:20 Stuffing six separate columns into a single array?
Previous Message Tom Lane 2004-10-04 14:17:16 Re: Difference between IN and JOIN