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倍

  • 4
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值