get火花 2018-06-03 10:41 采纳率: 25%
浏览 8692
已采纳

mysql多表查询,有个中间表,如何查询

图片说明图片说明图片说明如图,有张中间表,怎么通过article表的id查询article表中所有的值已经tag表中的name字段的值,name可能是多个,小弟刚入行没多久,多谢各位解答

# ## 图片说明如何通过article表中的id查询article表下面的内容以及tag下面的name字段的值,一条article的数据可能有多个tag表的name

  • 写回答

7条回答 默认 最新

  • weixin_41497737 2018-06-03 12:32
    关注

    select a.title , t.name from article a
    left join tag_article ta on a.id = ta.article_id
    join tag t on ta.tag_id = t.id

    查询出来是这个样子的.

    图片说明

    这里并没有展示article表中的所有字段,是为能更加清晰的查看查询结果.

    说明一下思路 :
    1.首先,是一对多的关系,那么肯定有一个非等值连接.使用左连接或者右连接,在这里,我是把article
    表放在了前面,所以使用了左连接,使得article表中的值能对应多个tag中name.
    2.那么,还有一个中间表,你可以这么思考,把中间表和tag的查询结果当做一个表.所以中间表和tag
    直接用等值连接就可以了.

    ok了.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(6条)

报告相同问题?