Não é particularmente difícil.
- Junte as três tabelas usando a cláusula JOIN.
- Use Group_concat nos campos de seu interesse.
- Não se esqueça da cláusula GROUP BY nos campos que você não está concatenando ou estranho as coisas vão acontecer
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
DEMO
Atualizar LEFT JOIN para quando o usuário não tiver entradas em User_Sports conforme comentários