关于left join 和 on 的小问题
首先,大家都清楚,left join 是以左边为主的联查,并且我们代码中,也是left join使用率比较高。
但是要注意几点:
1、尽管你使用了left join,并不是说左表的数据都会查出来,比如
select * from t1 left join t2 on t2.id=t1.t2Id
where t1.id In(1,2,3)
AND
t2.type In('eat', 'drink');
// 此时就类似 inner join 的效果了
2、如果你依旧想要left join的效果为:左边满足的都出现,右边不满足的为null,把右表的条件放在on中
select * from t1
left join t2
on t2.id=t1.t2Id and t2.type In('eat', 'drink');
where t1.id In(1,2,3);
本作品采用《CC 协议》,转载必须注明作者和本文链接
推荐文章: