当前位置:   article > 正文

mysql多表条件查询_mysql 多表 多个条件 查询

多表查询加条件语句

mysql 查询关键字

SELECT  类名  FROM  主表名 INNER JOIN   子表名1 ON  主表=次表 同样的内容  WHERE 查询条件

多表请用 INNER JOIN连接 且加 同样条件内容

SELECT  类名  FROM  主表名 INNER JOIN   子表名1 INNER JOIN   子表名2 ON 主表=次表1同样的内容 and   主表=次表2 同样的内容  WHERE 查询条件

如果没有 主表=次表2 同样的内容 表示多个条件 不同内容

如  a.id=b.id  表示只取  a 表与b ID 相同的内容

2个表查询代码

SELECT

a.content_id, b.content_id, b.title, a.`status`

FROM

jc_content a INNER JOIN  jc_content_ext b

ON

a.content_id=b.content_id

WHERE

a.`status`=2 AND b.titleLIKE CONCAT('%','南陵','%')

3个或更多查询代码

SELECT

a.channel_id,a.content_id,a.status,b.title,c.shop_price

FROM

jc_content aINNER JOINjc_content_ext bINNER JOINw_shop_content_item cONa.content_id=b.content_idANDa.content_id=c.cid

WHERE

a.`status`=2 AND b.title LIKE CONCAT('%火龙果%')

GROUP BY channel_id

代码延伸

去重复 GROUP BY  重复内容的类名

比如 表3 w_shop_content_item 以cid有多个内容存储  可以去掉重复 只保留第一行 数据见图

0ecf13e051d2b49107230535114390cf.png

7746052b704a398b28c63960f08ffd2b.png

代码分析

第一部分:

SELECT开始 a.content_id, b.content_id, b.title, a.`status`   到 FROM 前

表示 jc_content a 的表 content_id

jc_content a 的表 status

jc_content_ext b 的表content_id

第二部分:

FROMjc_content a INNER JOIN  jc_content_ext b ON a.content_id=b.content_id  WHERE

jc_content a主表   连接 次表jc_content_ext b

a表的content_id 与 b表的content_id一样的内容

第三部分

WHERE a.`status`=2 AND b.title LIKE CONCAT('%南陵%')

查询条件满足 a 表的 status =2  和 模糊查询 b表的 titlt 含有 南陵的字符

CONCAT('%南陵%')  可以防止 mysql 注入

注: 添加类名 可以增加查询速度  一万个数据中 快了10倍

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/557013
推荐阅读
相关标签
  

闽ICP备14008679号