Recomendaciones:
1.- Como ddiaz820427 te sugiere, usa alias para las tablas.
2.- Trata de dar un formato adecuado a tus consultas y se consistente, así es más fácil entenderlas.
Aunque puedes obtener los resultados que buscas usando la estructura que tienes, lo correcto es poner el "outer table" (la tabla que llamas "principal") inmediatamente después de la instrucción FROM. A partir de este punto, las tablas relacionadas casi siempre resultan naturalmente en un LEFT JOIN. Siguiendo este patrón, son muy pocas las veces que requerirás un RIGHT JOIN.
Supongo que esto es lo que deseas, pero podría estar equivocado, debido a que la cuarta línea de la consulta que has puesto es verdaderamente confusa.
Código:
SELECT ra.idregistroatencion,
di.nombrediagnostico,
es.nombreespecialidad,
te.nombretipoegreso
FROM registroatencion AS ra
LEFT JOIN diagnostico AS di
ON ra.iddiagnosticoegreso = di.iddiagnostico
LEFT JOIN tipoegreso AS te
ON ra.idtipoegresoegreso = te.idtipoegreso
LEFT JOIN especialidad AS es
ON ra.idespecialidad = es.idespecialidad
Saludos.