Hola...
Cita: qué consulta es más eficiente, una con un inner join o la misma con left o right join?
Creo que cada una hace cosas diferentes y todo depende de la info que desees obtener porque no es lo mismo hacer un inner join que un left or right join.
Cita: y las subconsultas como andan de rendimiento?
Tambien depende del tamaño de tu subquery.., pero te puedes apoyar de un inner join.., a menos que sea necesaria una subquery puede servir de mucho..
Como verás.., el costo de tu query va a depende del tamaño de registros que se regresen, filtros, sorting, anidamientos, si usas índices.
.si el SGBD lo soporta te puedes apoyar de SP, functions, etc.
Salu2