これは、集計やサブクエリを使用して行うことができます。次のようなもの:
select title, content, json_agg(comments.author, comments.message) as comments
from articles
join comments on articles.article_id = comments.article_id
group by article_id;
これを1つの文字列/json/何かに集約する必要がある場合は、次のような別の集約クエリにラップするだけです:
select json_agg(sub)
from (
select title, content, json_agg(comments.author, comments.message) as comments
from articles
join comments on articles.article_id = comments.article_id
group by article_id) sub;
これはPostgresクエリです。 Mysqlの使用経験はありません。