如何编写SQL三表INNER JOIN查询获取foodblog库文章标签关联数据
MySQL三表INNER JOIN查询语句实现
需求说明
需要关联posts_tags、posts、tags三张表,输出以下字段:
posts_tags表的post_id、tag_idtags表的titel(标签名称)posts表的titel(文章标题)
关联逻辑:
posts_tags.post_id是关联posts.id的外键posts_tags.tag_id是关联tags.id的外键
实现语句
-- 切换到目标库 USE foodblog; -- 三表INNER JOIN查询 SELECT pt.post_id, pt.tag_id, t.titel AS tag_titel, p.titel AS post_titel FROM posts_tags pt INNER JOIN posts p ON pt.post_id = p.id INNER JOIN tags t ON pt.tag_id = t.id;
补充说明
- 语句中使用
pt、p、t作为三个表的别名,简化语句长度 - 两个表的
titel字段添加了别名避免查询结果字段重名冲突,你可以根据自身需求调整别名 - 提供的初始化脚本中没有插入
tags和posts_tags表的测试数据,插入对应数据后执行该语句即可得到符合预期的结果
内容的提问来源于stack exchange,提问作者Mauro
相关产品推荐
相关产品推荐

