MYSQL多表联合查询的问题
程序员文章站
2022-03-16 20:49:47
...
总共有三个表
post表:id,title,content
terms表:id,name
rela表:postid,termid
post表保存文章内容(文章ID、文章标题、文章内容),terms表保存分类内容(分类ID、分类名称),rela表保存的是文章分类信息,也就是文章ID对应的分类ID。
单纯匹配post表的title和content我知道是这样
query(
"
SELECT id, title
FROM post
WHERE (
`title` LIKE '%关键词%'
OR `content` LIKE '%关键词%'
)
LIMIT 0 , 30
"
);
现在也要匹配相应的terms表的name,请问怎么写呢?
回复内容:
总共有三个表
post表:id,title,content
terms表:id,name
rela表:postid,termid
post表保存文章内容(文章ID、文章标题、文章内容),terms表保存分类内容(分类ID、分类名称),rela表保存的是文章分类信息,也就是文章ID对应的分类ID。
单纯匹配post表的title和content我知道是这样
query(
"
SELECT id, title
FROM post
WHERE (
`title` LIKE '%关键词%'
OR `content` LIKE '%关键词%'
)
LIMIT 0 , 30
"
);
现在也要匹配相应的terms表的name,请问怎么写呢?
select post.id, post.title from rela left join post on rela.postid = post.id left join terms on rela.termid = terms.id where post.title like '%关键词%' or post.content like '%关键词%' or terms.name like '%关键词%'
联合查询是 Mysql
比较基础的操作,题主应该花点时间掌握这个基础知识点。:)
推荐阅读
-
新手把mysql装进docker中碰到的各种问题
-
解决Node.js mysql客户端不支持认证协议引发的问题
-
MySQL中查询某一天, 某一月, 某一年的数据代码详解
-
MySQL大小写敏感导致的问题分析
-
解决MySQL数据库中文模糊检索问题的方法
-
浅谈MySQL数据库中日期中包含零值的问题
-
mysql5.6及以下版本如何查询数据库里的json
-
解决Windows环境下安装 mysql-8.0.11-winx64 遇到的问题
-
MYSQL ERROR 1045 (28000): Access denied for user (using password: YES)问题的解决
-
MySql .frm数据库文件导入的问题