SQL左右连接中的on and和on where区别

转载地址:https://blog.csdn.net/xingzhemoluo/article/details/39677891

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

1、on条件是在生成临时表时使用的条件,不管on中的条件是否为真,都会返回左边中的记录。(实际上左连接中如果and语句是对左表进行过滤的,那么不管真假都不起任何作用。如果是对右表过滤的,那么左表所有记录都返回,右表筛选以后再与左表连接返回)

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

在使用inner join时,on   and与on  where条件的区别:

不管是对左表还是右表进行筛选,on  and和on  where都会对生成的临时表进行过滤。


猜你喜欢

转载自blog.csdn.net/sunny1660/article/details/79717072