表A结构
vv int主键(值不可重复)
bb string
表B结构
vv int(普通int型,非主键,值有重复数据)
bb string
现在表A和B都有大量数据,A有超过100W条数据,表B有20W条左右
两表中有一部分数据是相同的,现在想通过SQL查询出表B不存在于表A中的数据,通过vv字段来对比,就是A表中不存在而B表中存在的数据查询出来
现有现成的SQL语句
select * from B WHERE vv not in (select B.vv from A, B where A.vv = B.vv )
但用这种方式查询效率太低了,因为程序是多线程频繁的调用到这条查询语句,所以求一条高效率的查询语句
望达人指点,谢谢
另外如果查询出来的B表数据本身有重复值,我可以用程序代码来过滤重复,如果SQL语句本身能过滤重复值,那当然更好
100大洋
select * from tba
EXCEPT
select * from tbb
比如说
表A中有数据(vv字段)
1
2
3
7
8
9
表B中数据
3
4
4
5
5
6
7
那么查询出结果是
4
5
6
如果过滤重复值太麻烦,那我用程序过滤也行,总之只要能查询出表A中不存在而表B中存在的值就行
except差21秒
应该用b except a
顶楼上的。
相关问答:
今天做了一个存储过程 环境是SQL2000数据库
大致如下
建立临时表
定义员工游标
循环员工(属于1个公司)
......
现在有两张表:文章主表A(articleId,articleTitle),文章评论表B(commentId,articleId,commentTitle)
现在我想实现这样的功能:列出文章列表,其中每篇文章标题下面列出此文章的前2个文章评论,请问sql语句怎么写啊 ......
如何在SQL2005中设定定时作业,比如说定时清理某些表的数据,
或者是定时的将某些表的数据导出excel!
在线等待,急急急,最好是详细步骤!
之前我做的作业有点问题!
帮UP
参考:http://hi.baidu.com/toiota ......
tab1 字段:billdate,goodsid,incount,inmoney,outcount,outmoney,endprice,endcount,endamt
tab2 字段:goodsid,goodskind(商品类型)
tab3 字段:goodskind(商品类型),kindname
结果:
得到商品类型在一段时间 ......
下面是XML初始文件内容
XML code:
<upd:Update xmlns:lar="http://schemas.microsoft.com/msus/2002/12/LogicalApplicabilityRules" xmlns:cmd="http://schemas.microsoft.com/msus/2002/12/Up ......