2015-09-16 40 views
0

我有一個名爲的人具有以下數據表中的同一數據 轉換RIGHT JOIN來LEFT OUTER JOIN用於提取

下面的查詢將獲取我個人表的PID值不等於任何的在PERSONID值:

select B.pid 
from Persons A 
RIGHT JOIN Persons B ON (A.PersonID = B.pid) 
where A.PersonID IS NULL 
    AND B.pid IS NOT NULL 

enter image description here

有沒有辦法使用LEFT OUTER JOIN來獲取相同的數據?

+0

可能重複http://stackoverflow.com/questions/4715677 /區別左加入和右加入在SQL服務器) – amdixon

回答

1

你應該使用left join,只是扭轉表得到同樣的結果:

select B.pid 
from Persons B LEFT JOIN 
    Persons A 
    ON A.PersonID = B.pid 
where A.PersonID IS NULL AND B.pid IS NOT NULL 
[之間左連接和SQL Server右連接不同](的
+0

像...沒有使用B.pid IS NOT NULL在原始查詢..將左外連接幫助那? – user2813853