热线电话:13121318867

登录
2018-10-19 阅读量: 7160
JOIN ON后面能不能接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
3
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子