A left join B on a.key=b.key
即使a.key为null也会显示数据,牢牢记住:会显示A的所有数据!!
left join/right join/inner join/full outer join
注意使用left join之类的可能会有A表有keyB表没key,所以join之后会存在一些key的有关B的数据为null的情形
敲黑板!这个时候再使用where条件去过滤的时候就很容易出bug,因为b表的一些数据为null,不参与比较条件,那么这一部分数据就被全部过滤掉了,那你left join和join的形式就没差别,从而就错了,这个时候解决办法是再嵌套一层。
总结一下:当left join/full outer join连接后出现null但却是需要这个有null的字段用于where比较的时候,
解决办法:将那个含有null的字段根据业务强行填充一个数(再嵌套一层填充)变成没有null之后再where比较即可