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有多个内容存储 可以去掉重复 只保留第一行 数据见图
代码分析
第一部分:
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倍