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.
regards, tom lane