CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  MS-SQL Server >  疑难问题

请问:这两条语句的区别,在线等待回答,谢谢你们

楼主guoli0813(峥狼)2006-06-02 11:41:51 在 MS-SQL Server / 疑难问题 提问

use   hzxt  
  select   distinct   Col001  
  from   [060522-060529]  
  where   Col001   not   in    
  (  
  select   Col001  
  from   联通黑名单  
  )  
  and  
    substring   (Col001,1,7)  
              in  
  (  
  select   Col001  
  from   手机话段联通话段  
  where   Col003   not   in('天津','海南','河南','广东','北京','黑龙江','广西','上海')  
  )  
   
  和  
   
  use   hzxt  
  select     distinct     Col001  
  from   [060522-060529]  
  where   substring   (Col001,1,7)  
              in  
  (  
  select   Col001  
  from   手机话段联通话段  
  where   Col003   not   in('天津','海南','河南','广东','北京','黑龙江','广西','上海')  
  and  
     
  Col001   not   in    
  (  
  select   Col001  
  from   联通黑名单  
  )  
  )  
   
   
   
  第一个查询结果是464271  
  个  
  第二个查询结果是459059个!!!  
  请问,这两条语句的执行机理有什么不同呀?    
  问题点数:20、回复次数:9Top

1 楼Haiwer(海阔天空)回复于 2006-06-02 11:46:40 得分 10

没可能  
  Top

2 楼Haiwer(海阔天空)回复于 2006-06-02 11:47:34 得分 0

看错了  
  Top

3 楼zzit0721()回复于 2006-06-02 11:48:18 得分 0

第一个是先算出不在黑名单的记录,然后在这些记录在选符合第2个条件的记录  
   
  第二个就正好相反Top

4 楼guoli0813(峥狼)回复于 2006-06-02 11:52:00 得分 0

这些我都知道,但是查询出来的结果确确实实不一样Top

5 楼zzit0721()回复于 2006-06-02 11:54:54 得分 0

肯定不一样啊,拜托,我解释的还不清楚?  
  比如说你第一个黑名字的记录是4600,在这些记录中满足第2个条件的是4000个  
  那结果就是4000个  
   
  那第二条语句就是,先满足的substring   (Col001,1,7)  
              in  
  (  
  select   Col001  
  from   手机话段联通话段  
  where   Col003   not   in('天津','海南','河南','广东','北京','黑龙江','广西','上海')  
  这个有5000个,而在这些记录集合中又有4600个满足第二个条件  
  所以结果就4600个  
   
  2个结果完全不同的,懂了不Top

6 楼zzit0721()回复于 2006-06-02 11:58:50 得分 10

再解释清楚点,就是很可能,你2个条件是很相象的,造成了,   第一个条件包含了第二个条件查询的内容,或,第二个条件包含了第一个条件查询的内容Top

7 楼guoli0813(峥狼)回复于 2006-06-02 11:59:27 得分 0

让我好好想一想,我们这儿有一批号码,需要过滤黑名单,并且屏蔽不用发的省份,我写的语句两个结果不一样,那按照哪一个比较合适呢?Top

8 楼guoli0813(峥狼)回复于 2006-06-02 12:06:04 得分 0

zzit07210  
  你说的没有错,第二个条件包含了第一个条件里面的内容Top

9 楼super_paladin(成熟给我们的不是越来越懂得珍惜 而是越来越懂得放弃)回复于 2006-06-02 12:24:36 得分 0

如果楼主是电信局的,汗一个Top

相关问题

关键词

得分解答快速导航

  • 帖主:guoli0813
  • Haiwer
  • zzit0721

相关链接

  • SQL Server类图书

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo