article(文章表):

article_content(文章内容表):

article_tag(标签表):

article_type(分类表):

其中 article(文章表)、article_content(文章内容表) 是一对一关系
article(文章表)、article_tag(标签表) 是多对多关系,关系表 tag_article 如下:

article(文章表)、article_type(分类表) 也是多对多关系,关系表 type_article 如下:

需求
查询所有文章,包含以下数据:
- id:文章 id
- title:文章标题
- tag_id:当前文章下的所有标签 id
- tag_name:当前文章下的所有标签名
- type_id:当前文章的分类 id
- type_name:当前文章的分类名称
然后我自己写的 SQL 是这样的:
SELECT a.id, a.title, GROUP_CONCAT( distinct t.tag_id), GROUP_CONCAT( distinct type.type_id), GROUP_CONCAT( distinct a_tag.tag_name), GROUP_CONCAT( distinct a_type.type_name) FROM article a JOIN tag_article t ON a.id=t.article_id JOIN type_article type ON a.id = type.article_id JOIN article_tag a_tag ON a_tag.id=t.tag_id JOIN article_type a_type ON a_type.id=type.type_id GROUP BY a.id; 结果: 
结果也能出来,但我心里总有点不踏实。
各位大佬,我这 SQL 写的有没有问题?或者不严谨的地方?
ps:鄙人也是刚入门 Mysql,轻喷
