No es particularmente difícil.
- Une las tres tablas usando la cláusula JOIN.
- Utilice Group_concat en los campos que le interesen.
- No olvide la cláusula GROUP BY en los campos que no está concatenando o raro cosas van a pasar
SELECT u.id,
u.Name,
Group_concat(us.id_sport order by pref) sport_ids,
Group_concat(s.name order by pref) sport_names
FROM users u
LEFT JOIN User_Sports us
ON u.id = us.id_user
LEFT JOIN sports s
ON US.id_sport = s.id
GROUP BY u.id,
u.Name
Actualizar LEFT JOIN para cuando el usuario no tiene entradas en User_Sports según los comentarios