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

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条)

报告相同问题?

悬赏问题

  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试
  • ¥20 问题请教!vue项目关于Nginx配置nonce安全策略的问题
  • ¥15 教务系统账号被盗号如何追溯设备
  • ¥20 delta降尺度方法,未来数据怎么降尺度
  • ¥15 c# 使用NPOI快速将datatable数据导入excel中指定sheet,要求快速高效
  • ¥15 再不同版本的系统上,TCP传输速度不一致
  • ¥15 高德地图2.0 版本点聚合中Marker的位置无法实时更新,如何解决呢?
  • ¥15 DIFY API Endpoint 问题。
  • ¥20 sub地址DHCP问题