on后and条件与where后and条件的区别

on后and条件会和on条件一样在进行表连接的时候作为条件查询,其条件针对于left join right join full join是没有影响的,对于最终查询结果记录数不变,因为其只是筛选符合条件的记录进行匹配,其他不符合条件的会以NULL值填充字段,会在where执行前先执行。

where条件是对整个关联后的最终查询结果进行条件筛选。

这两者是没有什么关系的,它们只是先后执行而已,都是看需要使用,在使用inner join时,放在and放在on后面和放在where后面是一样的,因为inner join是内连接,on条件下查询的是两个关联表之间都得有对应的匹配记录,会对最终的查询结果记录数有影响。

猜你喜欢

转载自blog.csdn.net/qq_30021219/article/details/80094006