标题:请教为什么一条同时查询两张表的sql语句分开查询,出来的结果差别那么大
只看楼主
huangweia0
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2005-3-8
结帖率:33.33%
已结贴  问题点数:20 回复次数:3 
请教为什么一条同时查询两张表的sql语句分开查询,出来的结果差别那么大
如题:
请教各位高手:
select * from lkinfo,olduserinfo where lkinfo.LKName like '%h%' or olduserinfo.LKName like '%h%' order by olduserinfo.LKName desc
上面这条语句分成两条语句
select * from olduserinfo where LKName like '%h%' order by LKName desc

select * from lkinfo where LKName like '%h%' order by LKName desc

假设第二条语句查询结果为2条记录,第三条语句查询结果为6条记录,实际上我把第一条语句拆分成下面的两条语句,所查询出来的条数就是2条和6条,为什么合在一起以后执行,查询出来的结果会有好几十条呢?一直没搞明白,请各位知道的朋友帮忙解答一下。
感谢。
搜索更多相关主题的帖子: sql 语句 结果 查询 
2010-09-10 00:18
c1_wangyf
Rank: 11Rank: 11Rank: 11Rank: 11
等 级:小飞侠
威 望:7
帖 子:665
专家分:2832
注 册:2010-5-24
得分:15 
看看差别在什么地方,是不是和联合有关,希望下面的内容能有帮助!!
2010-09-10 14:06
bygg
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:乖乖的心中
等 级:版主
威 望:241
帖 子:13555
专家分:3076
注 册:2006-10-23
得分:5 
lkinfo.LKName like '%h%' or olduserinfo.LKName like '%h%'
A                             B

如果A成立,就算B不成立,所有的关于B表中的信息都会出来.
同样
如果A不成立,B成立,A表中的信息全部出来.

因为你用的是or,只要有一个条件成立,其他的都不重要.
如果用and,就会是两个查询的交集.

飘过~~
2010-09-10 14:42
huangweia0
Rank: 1
等 级:新手上路
帖 子:50
专家分:0
注 册:2005-3-8
得分:0 
对,我知道我查询的是他们的并集。
因为我是这么想的,只要这两张表中的两个同名的字段的值中,有任何一个是符合我要得搜索条件的,都要显示出来。

2010-09-10 17:25



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-319852-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.105628 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved