1. 使用left/right join on 限制条件和where限制条件的区别
select a.i,b.j from a left join b on a.i=b.i where a.i<>0 and b.j <>0
select a.i,b.j from a left join b on a.i=b.i and b.j<>0 where a.i<>0
a表的数据为
i | j |
0 | 1 |
1 | 2 |
2 | 3 |
i | j |
1 | 2 |
2 | 0 |
3 | 1 |
i | j |
1 | 2 |
i | j |
1 | 2 |
2 | null |
inner join在on和where后设置限制条件效果是一样的,null不作连接嘛。