You can’t have a join in an update statement. It should be
update articles
set num_comments =
(select count (*) from comments
where comments.article_id = articles.id)
This will update the entire articles table, which may not be what you want. If you intend to update only one article then add a ‘where’ clause after the subquery.