首页 > 代码库 > 说说左连接出现重复记录的问题
说说左连接出现重复记录的问题
举个例子两个表主表为A 从表为B
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表信息
,所得到的两个一样的数据其中包含的意义其实是不一样的。
说说左连接出现重复记录的问题
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。