标签:
举个例子两个表主表为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表信息
,所得到的两个一样的数据其中包含的意义其实是不一样的。
标签:
原文地址:http://www.cnblogs.com/moon1223/p/5929215.html