Heck yes. The different JOIN mechanisms within the optimizer can store information in tempdb. For example, a hash join builds a hash table which is in tempdb. A merge join might require a sort operation and the sort will take place in tempdb. That's just the first two that I thought of. There are others that can, and will, dump into tempdb. So yes, "bad" JOINs are an issue for tempdb.