Basta fazer uma concatenação de grupo junto com uma junção entre as duas tabelas:
SELECT
s.student_name AS Students,
GROUP_CONCAT(e.event_name) AS Events
FROM students s
LEFT JOIN events e
ON s.event_id = e.event_id
GROUP BY
s.student_name;
Demonstração
Observe que seu esquema de tabela parece não estar completamente normalizado. Normalmente, a maneira de lidar com esse problema é ter uma única tabela para informações do aluno, uma única tabela para eventos e, em seguida, uma junção tabela que conecta os alunos aos eventos. Seus
students
table parece estar servindo tanto como uma tabela de junção quanto como uma tabela contendo informações exclusivas do aluno. Portanto, uma maneira melhor de proceder aqui seria refatorar
students
para conter isso:(1, 'student1'),
(2, 'student2'),
(3, 'student3');
E crie uma nova tabela de junção
student_event
para conter a relação entre alunos e eventos:(id, student_id, event_id)
(1, 1, 1),
(2, 1, 2),
(3, 1, 3),
(4, 1, 4),
(5, 2, 3),
(6, 3, 2),
(7, 3, 4);