SQL内部联接返回比预期更多的行

时间:2010-11-15 15:29:28

标签: sql inner-join

当每个表只有340行时,以下查询返回> 7000行。

SELECT Config.Spec, TempTable.Spec FROM Confg INNER JOIN TempTable on Config.Spec = TempTable.Spec

为什么会这样?如果INNER JOIN仅在两个表中都匹配时返回一行,那么为什么它会为匹配返回多行。

2 个答案:

答案 0 :(得分:6)

如果SpecTempTable的{​​{1}}值与Spec中的Confg值相同,那么您将获得重复的行,而副反之亦然。

答案 1 :(得分:1)

Spec字段值是非唯一的吗?这可以解释为什么查询返回太多结果;通过重复,您可以获得有效的交叉产品。