关于一个MySQL的一个查询问题

新手问个问题:

有三个表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所以不知道有没有更好的办法能一次查询就就可以完成我现在两部的工作?

阅读 3.4k
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跨表延迟会很高,当并发量上去了之后,就会出现各种意想不到的问题。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题