一、左联接时
左连接是有主表的,on后条件不会影响主表:
如:
select *
from t_a a
left join t_b b on a.x=b.x and a.id = 2
此时a.id=2这个条件是没有任何意义的,因为MySQL不会处理这个条件。
如果想要对a表里的数据进行限制,必须添加where条件进行限制
二、内连接时
select *
from t_a a
inner join t_b b on a.x=b.x and a.id = 2
此时写在on后面的条件和写在where后的条件效果是一致的,但是表达的语义可能略有区别。