MySQL JOIN时条件放在Where之后和On之后结果是迥然不同的 在Left Join的时候on后的左表条件不生效 Right Join的时候on后的右表条件不生效 即左或右连接的时候on后的主表条件不生效 select * from a left join b on a.id=b.id and a.name=1 and b.age=2; 这里只有b.age=2能生效a.name=1不生效 在Inner Join的时候on后的条件不论主表从表都能生效. 在left或者right join的