2015-04-01 43 views
0

我遇到了一些問題,我不知道我正在做的事是正確的還是致命的錯誤。所有類型的OUTER-JOIN的空值是我還是這是正常的?使用Oracle db11g

我正在使用外連接概念。在我所有的三個人的情況下。當我輸入我的查詢時,我得到50%可見值和50%的空值。這是正常的,或者我的查詢是錯誤的。我向你展示了我正在使用的幾個例子。

查詢1.我想要做的是獲取他們工作的員工的名稱和地址。

select m.naam, w.adres, w.winkel_nummer 
from medewerkers m, winkel w 
where m.naam(+)= w.adres; 

結果: enter image description here

查詢2.我想所有的電話號碼。在這種情況下,它來自員工和成員。

select s.telefoon_nummer, l.telefoon_nummer 
from medewerkers s 
full outer join lid l on s.telefoon_nummer = l.telefoon_nummer; 

結果: enter image description here

//注:與全外連接我coudn't展現全貌

與兩個結果的問題是「他們沒有合併」。這是否意味着我正在寫錯誤的查詢或這是正常的?

我希望我的問題不太含糊。我無法找到解決方案在網絡上提前

回答

2

#1

謝謝,這看起來像你找錯了樹....你爲什麼要加入員工姓名的地址?這是沒有意義的。

select m.naam, w.adres, w.winkel_nummer 
from medewerkers m, winkel w 
where m.STOREKEYFIELD(+)= w.STOREKEYFIELD; 

你必須加入商店表的鑰匙上的兩個表,以獲得任何有意義的東西。

#2,如果你只是想手機#秒的完整列表,從2個表,使用UNION:

select s.telefoon_nummer 
from medewerkers s 
union 
select l.telefoon_nummer 
from lid l 

無需加入任何東西,除非你期待只匹配在這兩個事情表。

+0

感謝您的回覆。所以where子句僅用於將一個PK連接到另一個FK? 我需要爲學校項目使用一種外連接。我正在大量無用的查詢來獲得體面的外連接。我不知道在什麼情況下最好使用外部連接 – 2015-04-01 20:13:14

+0

我現在就開始工作了,謝謝你的解釋。它幫助我解決了我真正的問題 – 2015-04-02 07:09:39

相關問題