SQL join 疑问
最近写了条SQL语句发现一个疑问
SELECT t1.*
FROM 物料分仓表 t1 LEFT OUTER JOIN
物料总和表 t2 ON t1.物料代码 = t2.物料代码
LEFT OUTER JOIN 仓库 t3 ON t1.发料仓库 = t3.仓库名
LEFT OUTER JOIN 单位 t4 ON t1.单位 = t4.单位名称
ORDER BY t1.物料代码
物料分仓表的记录条数是 19127 条 可是关联了 仓库表 和 单位表后 数量变成了 25195 条
LEFT OUTER JOIN 仓库 t3 ON t1.发料仓库 = t3.仓库名
LEFT OUTER JOIN 单位 t4 ON t1.单位 = t4.单位名称
LEFT OUTER JOIN 不是关联左表 以左表的 数量为基准么 多出来的数据是什么情况啊
[解决办法]
假设A、B两表,以ID为关联,
A有数据:
1 abc
B有数据:
1 cde
1 efg
那么select * from A LEFT JOIN B ON A.ID=B.ID的结果是:
1 abc cde
1 abc efg
这就是所谓的多出来的数据