两个表之间的连接类型示例 - 自然连接

时间:2016-11-11 12:30:38

标签: mysql sql database join natural-join

我已经附上了我正在努力解决的问题。到目前为止,对于这个问题,我已经为每种类型的连接计算了多个元组

我得到了:R4 = 15(完全加入,第一个表格为10,第二个表格为5) R3 =α,R2 = 5,R1 = 10.

正确的答案是第四点,但我不确定如何获得这个。任何帮助,将不胜感激! enter image description here

1 个答案:

答案 0 :(得分:1)

只需单独考虑每个连接,您就可以获得每个连接返回的最小和最大行数。

<强> R1。 TBL1 LEFT NATURAL OUTER JOIN TBL2

因此TBL1有10行,因此将返回10行,无论TBL2中有什么,都没有其他可能性

<强> R2。 TBL1正确的自然外部加入TBL2

与上面类似,TBL2有5行,因此返回5行。没有其他可能性。

<强> R3。 TBL1 NATURAL JOIN TBL2

如果没有连接类型('INNER',LEFT,'RIGHT or FULL ) on the JOIn MySQL (and all other DBMS as far as I know) will interpret an INNER JOIN`,则返回的最高行数为5,因为在TBL2中只有5行,但如果没有匹配则可以返回0行。

<强> R4。 TBL1天然全外加TBL2

如果两者之间没有公共值,则返回15行,或者如果TBL2中的所有值都在TBL1中,则只返回10行。

所以你有

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

根据您获得的行数减少的顺序重新排列:

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

你的答案是什么

  

R4&gt; = R1&gt; R2> = R3