2 个表之间的连接类型示例 - 自然连接
Types of Joins between 2 tables example - Natural Join
我附上了我正在努力解决的问题。到目前为止,对于这个问题,我已经计算出每种类型的连接
的元组数量
我得到:R4 = 15(完全连接,所以第一个有 10 个 table,第二个有 5 个)
R3=?,R2=5,R1=10。
正确答案是第四个要点,但我不确定如何获得它。任何帮助,将不胜感激!
只需单独考虑每个连接,您可以获得每个连接的最小和最大行数 return。
R1。 TBL1 左自然外连接 TBL2
所以 TBL1 有 10 行,因此将 return编辑 10 行,无论 TBL2
中有什么,都没有其他可能性
R2。 TBL1 右自然外连接 TBL2
与上面类似,TBL2 有 5 行,因此 return 编辑了 5 行。没有其他可能性。
R3。 TBL1 自然连接 TBL2
在没有连接类型的情况下('INNER',LEFT
,'RIGHTor
FULL) on the JOIn MySQL (and all other DBMS as far as I know) will interpret an
INNER JOIN`,因此尽可能多的行数returned 是 5,因为 TBL2 中只有 5 行,如果没有匹配项,则可以 return 0 行。
R4。 TBL1 自然全外连接 TBL2
如果两者之间没有共同的值,这将 return 15 行,或者如果 TBL2 中的所有值都在 TBL1 中,则只有 10 行将 returned。
所以你有
R1. 10
R2. 5
R3. 0-5
R4 10-15
所以按照行数降序重新排列你得到:
R4 10-15
R1. 10
R2. 5
R3. 0-5
你的答案是什么
R4 >= R1 > R2 >= R3
我附上了我正在努力解决的问题。到目前为止,对于这个问题,我已经计算出每种类型的连接
的元组数量我得到:R4 = 15(完全连接,所以第一个有 10 个 table,第二个有 5 个) R3=?,R2=5,R1=10。
正确答案是第四个要点,但我不确定如何获得它。任何帮助,将不胜感激!
只需单独考虑每个连接,您可以获得每个连接的最小和最大行数 return。
R1。 TBL1 左自然外连接 TBL2
所以 TBL1 有 10 行,因此将 return编辑 10 行,无论 TBL2
中有什么,都没有其他可能性R2。 TBL1 右自然外连接 TBL2
与上面类似,TBL2 有 5 行,因此 return 编辑了 5 行。没有其他可能性。
R3。 TBL1 自然连接 TBL2
在没有连接类型的情况下('INNER',LEFT
,'RIGHTor
FULL) on the JOIn MySQL (and all other DBMS as far as I know) will interpret an
INNER JOIN`,因此尽可能多的行数returned 是 5,因为 TBL2 中只有 5 行,如果没有匹配项,则可以 return 0 行。
R4。 TBL1 自然全外连接 TBL2
如果两者之间没有共同的值,这将 return 15 行,或者如果 TBL2 中的所有值都在 TBL1 中,则只有 10 行将 returned。
所以你有
R1. 10
R2. 5
R3. 0-5
R4 10-15
所以按照行数降序重新排列你得到:
R4 10-15
R1. 10
R2. 5
R3. 0-5
你的答案是什么
R4 >= R1 > R2 >= R3