SQL中INNER JOIN 关联两个表,数据翻倍,请问什么原因引起的?

0
问题描述:有两个表,A和B,通过ID进行关联,A表数据有1W,B表数据有5000,关联好后数据2.5W
对应的SQL如下:

select count(*) from a innner join b on a.id=b.id

已邀请:
0

梁勇 - 天道酬勤、上善若水。爱好商业智能 2014-08-20 回答

如果A表一条记录对应B表一条记录的话 B表一条记录也对应A表一条记录 也就是说AB表是一对一的关系 ,那关联出来的记录数必然小于5000 ;但如果 能关联出2.5W ,说明A和B表存在 一对多,或者多对多的关系,B表关联的ID有重复的数据,所以会产生数据翻倍的情况。

要回复问题请先登录注册