php - 关于一个MySQL的一个查询问题
ringa_lee
ringa_lee 2017-04-10 14:36:43
[PHP讨论组]

新手问个问题:

有三个表A、B、C

A是存储的文章里面有ID字段TITLE字段和CONTENT字段

B是一个连接A与C的表里面有AID和CID字段

C是一个存储A文章标签的表

我要通过A表里的ID查询出属于他的标签用

SELECT * FROM B WHERE AID = A.ID

然后用得到的数据再用同样方法查询C表

SELECT * FROM C WHERE ID = B.CID

因为我是初学MySQL所以不知道有没有更好的办法能一次查询就就可以完成我现在两部的工作?

ringa_lee
ringa_lee

ringa_lee

全部回复(2)
阿神

试试 :
假设A有个ID为10
SELECT * from C where C.ID in(select CID from B where AID=10)

也可以:
select C.tag from C right join B on C.ID=B.CID where B.AID=10

怪我咯

出于性能的考虑,十分建议分开查,然后用动态语言进行表间操作。
mysql跨表延迟会很高,当并发量上去了之后,就会出现各种意想不到的问题。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号