Such tricks are no good for good database systems. I don't know, maybe in MySQL this method is worth your time (after reading your article I suppose it must have a very poor query optimizer), but in Oracle, DB/2 and PostgreSQL the first original query with 3-way join is the optimal one. These systems are clever enough not to make a big join first. By the way, subquery with 'IN' is in 99% cases translated into a JOIN by the query rewrite engine. It is much better to create proper indexes to speed up filtering and joining instead of playing with syntactic sugar.