热线电话:13121318867

登录
2020-10-20 阅读量: 3685
join on后面的条件可以加and,但是不能加or,为什么?

问题详述:join on后面的条件可以加and,但是不能加or。怎么理解呢?


答:

join on后面接的本来应该是一个连接条件,如果加and的话,我们可以理解为让连接条件更加严谨,但是加or的话会出现报错,因为on是最基本的连接条件,放宽连接条件的话,join就会无法完成。以下是错误示范:


select t1.a,t1.b,t2.a,t2.b


from t1


left outer join t2


on t1.a = t2.a


or t1.b = t2.b


可如果我就是想多join一些结果出来,有没有替代方案呢?有的,就是union all


select t1.a,t1.b,t2.a,t2.b


from


(select t1.a,t1.b,t2.a,t2.b from t1


left outer join t2


on t1.a = t2.a


union all


select t1.a,t1.b,t2.a,t2.b from t1


left outer join t2


on t1.b = t2.b) tmp


0.0000
0
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子