MySQL 左连接出现重复记录的问题
A
| aid | place |
|---|---|
| 1 | 大连 |
| 2 | 上海 |
| 3 | 北京 |
B
| bid | aid | type | name |
|---|---|---|---|
| 1 | 1 | 学生 | 赵 |
| 2 | 1 | 老师 | 钱 |
| 3 | 2 | 领导 | 孙 |
| 4 | 1 | 学生 | 李 |
| 5 | 2 | 老师 | 周 |
下面我想查询type为学生的A表和B表的所有信息
select * from A join B on a.aid=b.aid where B.type="学生"; 得到的结果是:

如果我查询type为学生的A表信息
select a.* from A join B on a.aid=b.aid where B.type="学生";
得到的结果为:

所以!!!就是所谓的重复,
如果说你想查找 type 为学生的都来自于哪个 place 可以直接 distinct ,例如:
select distinct a.* from A join B on a.aid=b.aid where B.type="学生";
得到的结果为:

但是就像上文提到的如果我查询type为学生的A表信息

所得到的两个一样的数据其中包含的意义其实是不一样的。