La consulta interna se ejecuta por separado para cada fila de su tabla una y otra vez.
Como no hay referencia a la consulta externa en la consulta interna, le sugiero que divida esas dos consultas y simplemente inserte los resultados de la consulta interna en WHERE
cláusula.