mysql多表外键查询的例子

mysql多表外键查询的例子,第1张

现有两个表table1和table2,id相同,均为主键,也就是外键

SELECT A.*,B.* from table1 as A,table2 as B where A.*=B.* and A.*=*

把*换成你的条件- -#完了

使用 LEFT JOIN 速度相对来说会快很多.

SELECT * FROM (SELECT biaoshi as b FROM a WHERE b=1) AS a1 LEFT JOIN ((SELECT biaoshi as bb FROM b WHERE bb=1) AS a2 LEFT JOIN (SELECT biaoshi AS bbb FROM c WHERE bbb=1) AS a3 ON a2.bb=a3.bbb) ON a1.b=a2.bbb

很容易理解,主要是使用了子查询,同时每个子查询都必需被AS,在子查询中可以包含你的条件,"LEFT ... JOIN ... ON ..."ON后面也必需有条件,ON的条件只是把两个表关联起来,没被 AS 或 ON 后没条件都会抛出错误,你自己去试一下吧.自己理会才更深刻,如果不能理解,就在百度搜索" 三表 LEFT JION "有很多例子!祝你好运!

我觉得:

表结构不同的话,用你的方法比较好,速度快。

写成这样:select count(*) from `b` where `nid` = '123'

直接统计出数目了

2.表结构相同的话:

写成这样select count(*) from `a` where `nid` = '123' UNION ALL select count(*) from             `b` where `nid` = '123'


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7248292.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-03
下一篇 2023-04-03

发表评论

登录后才能评论

评论列表(0条)

保存