2018-10-19
閱讀量:
7368
JOIN ON后面能不能接OR?
join on后面的條件可以加and,但是不能加or。怎么理解呢?join on后面接的本來(lái)應(yīng)該是一個(gè)連接條件,如果加and的話,我們可以理解為讓連接條件更加嚴(yán)謹(jǐn),但是加or的話會(huì)出現(xiàn)報(bào)錯(cuò),因?yàn)閛n是最基本的連接條件,放寬連接條件的話,join就會(huì)無(wú)法完成。以下是錯(cuò)誤示范:
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一些結(jié)果出來(lái),有沒有替代方案呢?有的,就是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






評(píng)論(0)


暫無(wú)數(shù)據(jù)
CDA考試動(dòng)態(tài)
CDA報(bào)考指南
推薦帖子
0條評(píng)論
1條評(píng)論
0條評(píng)論
0條評(píng)論