ITPUB??ì3
ITPUB论坛 » MS SQL Server » 请教,SQL语句:查询A表中字段a,b在B表中字段a,b没有出现的所有记录!

标题: 请教,SQL语句:查询A表中字段a,b在B表中字段a,b没有出现的所有记录!
离线 dezwen81
初级会员



精华贴数 0
个人空间 0
技术积分 58 (24723)
社区积分 1 (42869)
注册日期 2007-3-12
论坛徽章:0
      
      

发表于 2008-7-30 22:34 
请教,SQL语句:查询A表中字段a,b在B表中字段a,b没有出现的所有记录!

查询A表中字段a,b在B表中字段a,b没有出现的所有记录!

表A

a                        |       b                         |    c

1                            1                                  1
1                             2                                  2
2                             1                                  3


表B

a                       |      b                          |   c

1                            1                                  1
1                             2                                  2


我想得到的结果是:
a                        |       b                         |    c

2                             1                                  3


只看该作者    顶部
离线 taozhao
一般会员



精华贴数 0
个人空间 0
技术积分 211 (8890)
社区积分 115 (3103)
注册日期 2001-10-31
论坛徽章:1
2008年新春纪念徽章     
      

发表于 2008-7-30 23:32 
用Except

2005或2008, 你可以用Except

select a,b,c from A
EXCEPT
select a, b,c
from B


只看该作者    顶部
离线 只想赢利
为菠菜而生


精华贴数 0
个人空间 0
技术积分 432 (4433)
社区积分 1788 (630)
注册日期 2008-3-28
论坛徽章:185
奥运纪念徽章2008北京奥运纪念徽章:射箭2008北京奥运纪念徽章:网球2008北京奥运纪念徽章:网球2008北京奥运纪念徽章:射箭2008北京奥运纪念徽章:射箭
2008北京奥运纪念徽章:射箭2008北京奥运纪念徽章:射箭2008北京奥运纪念徽章:射箭2008北京奥运纪念徽章:射箭2008北京奥运纪念徽章:射箭2008北京奥运纪念徽章:射箭

发表于 2008-7-31 12:02 
Select a.* From a Left Join b  On a.a = b.a And a.b = b.b
Where b.a is null

[ 本帖最后由 只想赢利 于 2008-7-31 12:16 编辑 ]


只看该作者    顶部
离线 只想赢利
为菠菜而生


精华贴数 0
个人空间 0
技术积分 432 (4433)
社区积分 1788 (630)
注册日期 2008-3-28
论坛徽章:185
奥运纪念徽章2008北京奥运纪念徽章:射箭2008北京奥运纪念徽章:网球2008北京奥运纪念徽章:网球2008北京奥运纪念徽章:射箭2008北京奥运纪念徽章:射箭
2008北京奥运纪念徽章:射箭2008北京奥运纪念徽章:射箭2008北京奥运纪念徽章:射箭2008北京奥运纪念徽章:射箭2008北京奥运纪念徽章:射箭2008北京奥运纪念徽章:射箭

发表于 2008-7-31 12:24 
Select a.* From a
Where a.a <> (Select b.a From b Where a.b = b.b)


只看该作者    顶部
离线 只想赢利
为菠菜而生


精华贴数 0
个人空间 0
技术积分 432 (4433)
社区积分 1788 (630)
注册日期 2008-3-28
论坛徽章:185
奥运纪念徽章2008北京奥运纪念徽章:射箭2008北京奥运纪念徽章:网球2008北京奥运纪念徽章:网球2008北京奥运纪念徽章:射箭2008北京奥运纪念徽章:射箭
2008北京奥运纪念徽章:射箭2008北京奥运纪念徽章:射箭2008北京奥运纪念徽章:射箭2008北京奥运纪念徽章:射箭2008北京奥运纪念徽章:射箭2008北京奥运纪念徽章:射箭

发表于 2008-7-31 12:27 
Select * From a
Where Not exists (Select * From b Where a.a = b.a And a.b = b.b)


只看该作者    顶部
在线/呼叫 jvkojvko
小马哥


精华贴数 1
个人空间 0
技术积分 4959 (264)
社区积分 35023 (24)
注册日期 2007-9-10
论坛徽章:20
奥运纪念徽章祖母绿红宝石海蓝宝石紫水晶紫蜘蛛
玉石琵琶     

发表于 2008-7-31 12:59 


QUOTE:
原帖由 只想赢利 于 2008-7-31 12:02 发表
Select a.* From a Left Join b  On a.a = b.a And a.b = b.b
Where b.a is null

这个是最快的


__________________
马无夜草不肥,人无外财不富。
只看该作者    顶部
 
    

相关内容


CopyRight 1999-2006 itpub.net All Right Reserved.
北京皓辰广域网络信息技术有限公司. 版权所有
E-mail:Webmaster@itpub.net
京ICP证:010037号 联系我们 法律顾问