Junta duas tabelas (com um relacionamento 1-M) em que a segunda tabela precisa ser 'achatada' em uma linha

Dada as seguintes tabelas:

Alun

+----+-------+
| id | Name  |
+----+-------+
| 1  | Chris |
| 2  | Joe   |
| 3  | Jack  |
+----+-------+

Inscriçã

+---------------+------------+-----------+----------+
| enrollment_id | student_id | course_id | complete |
+---------------+------------+-----------+----------+
| 1             | 1          | 55        | true     |
| 2             | 1          | 66        | true     |
| 3             | 1          | 77        | true     |
| 4             | 2          | 55        | true     |
| 5             | 2          | 66        | false    |
| 6             | 3          | 55        | false    |
| 7             | 3          | 66        | true     |
+---------------+------------+-----------+----------+

Gostaria do seguinte

+----+-------+-----------+-----------+-----------+
| id | Name  | Course 55 | Course 66 | Course 77 |
+----+-------+-----------+-----------+-----------+
| 1  | Chris | true      | true      | true      |
| 2  | Joe   | true      | false     | NULL      |
| 3  | Jack  | false     | true      | NULL      |
+----+-------+-----------+-----------+-----------+

Nota 1 Eu sei que o mysql não pode ter colunas dinâmicas (me corrija se estiver errado!), Então estou feliz com a consulta iniciada como:

SELECT id, name, course_55, course_66, course_77 etc...

Fico feliz com isso porque há um número fixo de cursos (4 para ser exato).Idealment Eu gostaria que fosse dinâmico; ou seja, não é necessário escrever manualmente cada curso na cláusula SELECT.

Nota 2 Isso precisa do mysql puro - não quero recorrer ao PH

tualmente, o banco de dados tem mais de 10000 alunos com mais de 10000 * 4 matrículas (pois existem exatamente 4 cursos e todos os alunos estão em todos os 4 módulos

Nota 3 Student.user_id é indexado, assim como matricula.enrollment_id, matricula.studente_id e matricula.curso_id.

questionAnswers(1)

yourAnswerToTheQuestion