在使用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都会对生成的临时表进行过滤。
转载地址:https://blog.csdn.net/sunny1660/article/details/79717072