No hay recursividad en MySQL y también el resultado que obtendría sería plano (sin estructura). La mejor manera sigue siendo un bucle while en PHP, Java o cualquier lenguaje de programación que utilice.
La consulta podría verse así:
SELECT C.*, CHC.ID_SUBCONTENT
FROM CONTENT C
LEFT OUTER JOIN CONTENT_HAS_CONTENT CHC ON CHC.ID_CONTENT = C.ID_CONTENT
WHERE C.ID = ?
... // you get the idea
y en PHP podría repetir la consulta con el siguiente sub_content_id, hasta que ID_SUBCONTENT is null