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'
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)