SQL基础(八)-- sql左右连接中的on and 和 on where 的区别

在使用left join时,on and和 where and条件的区别如下:

    在使用链接时,先执行 on and,再执行  where and

1. on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左表中的记录。

2. where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录了),

    条件不为真的就全部过滤,on后的条件用来生成左右表关联的临时表,where后的条件对临时表中的记录进行过滤。

在使用inner join时,on and和 where and条件:

取交集,on and后对左右表都筛选,和where一样。

具体数据比较看原链接:

http://blog.csdn.net/xingzhemoluo/article/details/39677891

原文地址:https://www.cnblogs.com/BounceGuo/p/10696073.html