2016-11-11 124 views
-1

我已附加了我正在努力的問題。迄今的問題,我已制訂出元組的數目對於每種類型的加入兩個表格之間的連接類型示例 - Natural Join

我得到:R4 = 15(全在第一表格& 5中的第二加入,讓10) R3 = ?, R2 = 5,R1 = 10。

正確的答案是第四個要點,但我不確定如何獲取此信息。任何幫助,將不勝感激! enter image description here

+0

Out of interes噸,問題從哪裏來? – onedaywhen

+0

本週早些時候看到了這個:關係模型中的'tuple'表明沒有空值,沒有重複,但'outer join'意味着空值,而SQL意味着重複的行(不是元組)。 – onedaywhen

+0

您附加的部分不可讀。如果你需要幫助,請對此做點什麼。 –

回答

1

只要分別考慮每個連接,就可以獲得每個連接返回的最小和最大行數。

R1。 TBL1離開過天然的OUTER JOIN TBL2

所以TBL1有10行,因此10行會被退回,不存在其他的可能性,無論是什麼TBL2

R2。 TBL1 RIGHT NATURAL OUTER JOIN TBL2

與上面類似,TBL2有5行,因此返回5行。沒有其他可能性。

R3。 TBL1 NATURAL JOIN TBL2

在不存在加入的類型( '內',LEFT,「RIGHT or FULL ) on the JOIn MySQL (and all other DBMS as far as I know) will interpret an INNER JOIN`,因此返回的行的最大可能數爲5,因爲有在僅5行TBL2,有可能雖然返回0行,如果沒有匹配。

R4。TBL1自然科學FULL OUTER JOIN TBL2

如果有兩本之間沒有共同的價值觀將返回15行,或者如果TBL2中的所有值都在TBL1中,則只返回10行。

所以,你必須

R1. 10 
R2. 5 
R3. 0-5 
R4 10-15 

在下降的行數的順序而言所以rearanging你:

R4 10-15 
R1. 10 
R2. 5 
R3. 0-5 

哪個是你的答案

R4> = R1> R2> = R3

+0

謝謝,現在得到它!只是沒有意識到R3(自然連接)是一個內部連接,因爲它實際上並沒有說內部的問題,但我顯然應該認爲它是一個內部連接,它只返回通用屬性(本例 - 最大= 5) – Liam

+1

@GarethD:我會質疑你最後的評論:在標準SQL中,'FULL'是一個「外連接類型」,而'OUTER'關鍵字是可選的,因此'FULL JOIN'將會是'FULL OUTER JOIN '; '完全內部聯接'也是無效的語法。我在SQL Server上測試了這個(我唯一需要處理的)並且行爲是按照標準進行的。 – onedaywhen

+0

你是對的,我應該在沒有左或右的情況下說。在所有這些外部是唯一可能的類型。我會在筆記本電腦上編輯答案 – GarethD