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>
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 |