sql问题:在两个相同的表中找出不同的记录.

有两个表:(结构相同,但记录不完全相同)表:acol_acol_b1a2a3b表:bcol_acol_b1a2a3a4b找出表a和表b中不同的记录,就是要找出表b中的3,... 有两个表:(结构相同,但记录不完全相同)
表:a
col_a col_b
1 a
2 a
3 b

表:b
col_a col_b
1 a
2 a
3 a
4 b

找出表a和表b中不同的记录,就是要找出表b中的3,4两条记录.
写出sql语句.
展开
 我来答
百度网友d2c92c870
2006-04-22 · TA获得超过1456个赞
知道小有建树答主
回答量:401
采纳率:0%
帮助的人:0
展开全部
select * from a where not exists(select * from b where a.col_a=b.col_a and a.col_b=b.col_b) union select * from b where not exists(select * from a where a.col_a=b.col_a and a.col_b=b.col_b)

以上得出两表中所有不同记录(a表中第三条,b表中3、4条)
abingpow
2006-04-22 · TA获得超过2205个赞
知道大有可为答主
回答量:2830
采纳率:0%
帮助的人:2261万
展开全部
如果b表的记录在a表中不存在,就取出该记录
select * from tb where col_a not in(select ta.col_a from ta,tb where ta.col_a=tb.col_a and ta.col_b=tb.col_b)

也可以用exists语句
select * from tb c where not exists(select * from ta,tb where ta.ca=tb.ca and ta.cb=tb.cb and c.ca=ta.ca)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
紫川林
2006-04-22 · 超过21用户采纳过TA的回答
知道答主
回答量:77
采纳率:0%
帮助的人:0
展开全部
(select a.* from a,b where a.col_a<>b.col_a or a.col_b<>b.col_b) union (select b.* from a,b where a.col_a<>b.col_a or a.col_b<>b.col_b)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
maodrc
2006-04-22 · TA获得超过3289个赞
知道小有建树答主
回答量:1090
采纳率:79%
帮助的人:1175万
展开全部
我想了半天,想不出用sql语句该如何处理

我的意思是分别读出数据 到数组A,B中再做相应处理

--------
请教楼下的高见..
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式