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
0
3
关注作者
收藏
评论(0)
发表评论
暂无数据
推荐帖子
1条评论
0条评论
0条评论