Prefiro CTE do que subquerys, pois na maioria dos casos torna a consulta mais rápida. Outra dica para subquerys como nonseu exemplo, optar por criar uma tabela temporária e depois usar o inner join será muito melhor.
Parabéns pela explicações, trabalhar performance em SQL não é uma receita única, mas ja deu pra ajudar muita gente