本文介绍了SQL内部联接返回的行比预期多的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
当每个表只有340行时,以下查询将返回> 7000行.
The following query returns >7000 rows when each table only has 340 rows.
SELECT Config.Spec, TempTable.Spec FROM Confg INNER JOIN TempTable on Config.Spec = TempTable.Spec
为什么会这样?如果INNER JOIN仅在两个表中都有匹配项时才返回一行,那为什么还要为匹配项返回多行呢?
Why would this happen? If an INNER JOIN only returns a row if there is a match in both tables then why would it return multiple rows for a match.
推荐答案
如果TempTable
中的Spec
值与Confg
中的Spec
值相同,则存在多个行得到重复的行,反之亦然.
If there is more than one row with the same Spec
value in TempTable
for the same Spec
value in Confg
, then you will get duplicate rows, and vice versa.
这篇关于SQL内部联接返回的行比预期多的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!