给个通俗的解释吧. 例表a aid adate 1 a1 2 3 表b bid bdate 1 b1 2 4 两个表a,b相连接,要取出id相同的字段 select * from a inner b on a.aid = b.bid这是仅取出匹配的数据. 此时的取出的是: 1 a1 b1 2 那么 指: select * from a b on a.aid = b.bid 首先取出a表中所有数据,然后再加上与a,b匹配的的数据 此时的取出的是: 1 a1 b1 2 3 空字符 同样的也有right join 指的是首先取出b表中所有数据,然后再加上与a,b匹配的的数据 此时的取出的是: 1 a1 b1 2 a2 b2 4 空字符
原文链接:http://zhidao.baidu.com/link?url=hOCkB8JOoN-3n7_K9kc5QUNn7frEj6cmmvQi4tehTI2AUbCtQVY2tr023_SkOcvBpg6d72KYvktxxkzt3i9N4q
求教多个left join 怎么执行
eg: select * from a left join b on a.abid = b.baid left join c on c.cbid = b.bcid 顺序是先a,b组合成一个虚拟表,然后虚拟表再和C表关联