Ð ÐÐÐ, 04.10.2004, Ð 16:17, Tom Lane ÐÐÑÐÑ: > Markus Bertheau <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> ---------------------------(end of broadcast)--------------------------- TIP 3: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly