我有一个非常简单的场景
ID |NAME | DEPT_ID
1 |R K | 1
2 |V K | 1
DEPT_ID | LOC
1 | KA
1 | VA
预期输出
ID |NAME | DEPT_ID |LOC
1 |R K | 1 |KA
2 |V K | 1 |VA
但是,得到
ID |NAME | DEPT_ID |LOC
1 |R K | 1 |KA
2 |V K | 1 |VA
1 |R K | 1 |VA
2 |V K | 1 |KA
我使用过简单的INNER JOIN。我能得到预期的输出吗?
select ID,NAME,LOC
from table1
inner join table2 on table1.dept_id=table2.dept_id
答案 0 :(得分:9)
第一条记录的dept_id为1.此dept_id
有2条匹配的记录第二条记录的dept_id为1.此dept_id
有2条匹配的记录结果总共有4条记录。它按预期工作。
服务器无法知道KA
匹配R K
而不是V K
结论:不要使用非唯一字段进行连接。