Me parece extraño que, cuando he definido una clave foránea, el motor no puede usar esta información para descubrir automáticamente las expresiones JOIN correctas, sino que requiere que vuelva a escribir las mismas cláusulas. ¿Hay alguna base de datos, quizás algún tipo de proyecto de investigación, que inspeccione las claves foráneas existentes?