【问题标题】:What is maximum size of an SQL table resulting from two tables Inner join in SQL? [closed]SQL 中的两个表内连接产生的 SQL 表的最大大小是多少? [关闭]
【发布时间】:2020-05-26 22:46:16
【问题描述】:

让我们举个例子:

A

Id  Value
x1  v1
x2  v2
.   .
.   .
xN  vN

B

Id  Id_A
y1  z1
y2  z2
.   .
.   .
yM  zM

table C = A 内连接 B

Id  Id_A
x1  z_i
x1  z_i
.   .
.   .
xN  z_j
xN  z_j

在这种情况下,C 的最大大小是多少? (我按照A的ID加入) M可以大于或小于N。

如果你能给出最大尺寸的公式,甚至可以说 T 连接,那将不胜感激。

【问题讨论】:

  • 所有的 HTML 使您的表格数据变得混乱,这是怎么回事?如果您试图格式化您的数据以在此处显示,它将无法正常工作。 Stackoverflow 为此使用 Markdown。见stackoverflow.com/help/formatting。无论如何,这让人们很难只见树木不见森林。请编辑您的问题。此外,“code sn-p”是不必要的,因为您的示例不可执行。
  • 不管怎样,你指的是什么类型的JOIN? INNEROUTERFULLCROSS?并加入哪些字段(在需要指定的连接的情况下)?这会影响结果的潜在大小。
  • 连接有多种类型,答案取决于您指的是哪一种:交叉连接、左连接、内连接、右连接、横向连接、联合连接。由于问题不清楚,因此投票结束。
  • 已编辑,希望现在更好。
  • 您不明智地调用“内部联接”。这个结果不是这些输入的任何 SQL 连接。所以你没有问一个明确的问题。 PS 请展示您的研究结果并尝试回答。请不要要求我们做您的(家庭)工作。 PS这可能是一个常见问题解答。在考虑发布之前,请阅读您的教科书和/或手册和谷歌任何错误消息或您的问题/问题/目标的许多清晰、简洁和精确的措辞,有和没有您的特定字符串/名称和站点:stackoverflow.com 和标签;阅读许多答案。反映你的研究。请参阅How to Ask 和投票箭头鼠标悬停文本。

标签: sql database math join


【解决方案1】:

内连接的大小在 0 和两个表中的行的乘积之间变化,具体取决于键之间的匹配:

  • 0 当没有行匹配时。
  • n * m 当连接条件始终为真时。

(其中nm 是表格的大小)

当然,您的示例数据表明用于 join 键的列在每个表中是不同的。在这种情况下(不同的值),结果大小不超过两个表大小的最小值。

【讨论】:

  • “连接键”无法解释,而“不同”的连接键无法解释。无论你是什么意思,你都没有传达它。鉴于您的最后一句话,您的“当然”句子可能是想说,对于其中一个输入表,每一行与另一个表中的一行完全匹配。但是你写的东西并没有传达任何东西,更不用说那个了。
猜你喜欢
  • 1970-01-01
  • 2014-10-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-07-24
  • 2014-06-16
  • 1970-01-01
相关资源
最近更新 更多