De entrada lee sobre la sintaxis de
JOIN.
Segundo para saber si una consulta és optima o no se debe saber que es lo que se esta buscando con ella y
sobre todo como se va a usar.
Asi sin mas explicación lo unico que se puede decir és si la sintaxis esta bien o no, y ya te digo que leas sobre JOIN.
ORDER BY valor... sin alias de la tabla de donde proviene ...???
otra pista que nos podria ayudar es la alternativa que tu planteas.... es decir poder valorar frente a que es optimo o no usar esta consulta.