Hola, siento la 'no' respuesta del amigo LAIR. Aquí te tengo la solución:
JOIN implícito:
select alu.nombre, asi.nombre, cal.calificacion from alumnos as alu, asignaturas as asi, calificaciones as cal where alu.matricula=cal.matricula and asi.codigo=cal.codigo;
JOIN explícito:
select alu.nombre, asi.nombre, cal.calificacion from alumnos as alu inner join asignaturas as asi inner join calificaciones as cal on alu.matricula=cal.matricula and asi.codigo=cal.codigo;
Ambos son exactamente lo mismo, la diferencia es que en la primera INNER JOIN va sobreentendida internamente en MySQL. Te doy las 2 respuestas según tu necesidad en el uso de comandos que desees. Realmente es sencillo. Ahora también, y si lo deseas, puedes ordenarlo por el campo que quieras. Un saludo