Ryan,
> > The above should use an EXISTS clause, not IN, unless you are absolutely
> > sure that the subquery will never return more than 12 rows.
>
> I am assuming you said this because EXISTS is faster for > 12 rows?
> Interesting :)
That's my rule of thumb, *NOT* any kind of relational-calculus-based truth.
Basically, one should only use IN for a subquery when one is *absolutely* sure
that the subquery will only return a handful of records, *and* the subquery
doesn't have to do an complex work like aggregating or custom function
evaluation.
You're safer using EXISTS for all subqueries, really.
--
Josh Berkus
Aglio Database Solutions
San Francisco