怎嘛快速比较两张表的数据差

问题描述

现在有A和B两张表,A表字段:a1b1c1d1B表字段:a1c1假如说A表有1000条数据B表有800条数据其中A表a1和c1和B表中a1和c1字段值相同的数据有500条怎嘛用sql查出来A表a1和c1和B表中a1和c1值不同的数据

解决方案

解决方案二:
select*fromAwherea1notin(selecta1fromB)andc1notin(selectc1fromB)
解决方案三:
notexists判断。
解决方案四:
select*fromAjoinBonA.a1<>B.a1andA.c1<>B.c1

解决方案五:
如果没有id,select*fromatawherenotexists(select*fromajoinbona.a1=b.a1anda.c1=b.c1wherea.a1=ta.a1anda.c1=ta.c1)如果有IDSELECT*FROMAWHEREIDNOTIN(SELECTA.IDFROMAJOINBONA.A1=B.A1ANDA.C1=B.C1)
解决方案六:
呃,这个sql基础的差集,交集,并集…………这个概念性的东西,还是要看一下的。

时间: 2024-09-23 23:42:11

怎嘛快速比较两张表的数据差的相关文章

SQLSERVER中如何快速比较两张表的不一样

原文:SQLSERVER中如何快速比较两张表的不一样 SQLSERVER中如何快速比较两张表的不一样 不知不觉要写2014年的最后一篇博文了~   一般来说,如何检测两张表的内容是否一致,体现在复制的时候发布端和订阅端的两端的数据上面 我这里罗列了一些如何从数据库层面来解决此类问题的方法 第一步当然就是检查记录数是否一致,否则不用想其他方法了~这里我们用两张表t1_old,t1_new来演示 方法介绍   方法一:老老实实看表结构和表记录数,弊端是根本看不到两张表的数据是否一致,只是看到表结构和

listview-将两张表的数据展示在一个ListView中

问题描述 将两张表的数据展示在一个ListView中 数据库中的数据如图所示,一共有5张表,三个数据表以及两个关系表.我现在需要将所有的project和exam读取出来然后将其中的name和description显示在同一个ListView中,根据数据表中的session sort no来排序. 现在的问题: 1.如何同时读取所有的exam和project数据并根据session sort no来排序呢?因为数据比较多,所以应该不会一次性完成读取,而是用类似SimpleCursorAdapter

更新表-sql 如何在建立一个存储过程时更新两张表的数据?

问题描述 sql 如何在建立一个存储过程时更新两张表的数据? create proc proc2 ( @OrderID int, @BookID varchar(20),--更新 orderInfo quantity:更新 orderSheet payment @BookStock int ) as update orderSheet set payment = b.newpay FROM orderInfo,orderSheet,(select (payment + price * @Book

oracle10-关于oracle同时往两张表添加数据的问题

问题描述 关于oracle同时往两张表添加数据的问题 语句如下 declare sacn varchar2(15) :='111'||lpad(seq_no.nextval,12,0); begin insert all into customer(costomer_no,costomer_type) values(sacn,'P') into person(costomer_no,name,tel,address) select ****,ps.name,ps.tel,ps.address f

在VB中,同时修改两张表的数据,我试了好久它就是修改一张,哪位帮帮忙?

问题描述 呵呵,帮帮忙 解决方案 解决方案二:这也叫问题?难怪没人回答,连问问题都不会解决方案三:用两条sql语句,一条不行解决方案四:用兩個Update語句就可以了解决方案五:你把你的代码列出来,让大家看!!解决方案六:该回复于2008-05-06 16:55:32被版主删除解决方案七:引用3楼hurtsobad的回复: 用兩個Update語句就可以了 解决方案八:楼主的意思是不是将两张表关联,更新主表,从表也相应的更新呢?OTZ问题问得好笼统解决方案九:使用触发器吧

通过两张表查询数据的效率咨询

问题描述 问一下,我需要根据条件去两个数据表中取数据.我是先从一个表中取出数据后通过利用forallentriesin去另一张表中取数据效率高呢,还是通过innerjoin连接两张数据表取数据效率高呢,很是迷茫,还请高手指点,十分感谢-- 解决方案 解决方案二:这个要看具体情况,通常情况下如果两张表的关联都是关键字段时可以直接使用innerjoin,对于有些不是透明表(如簇表)是必须使用forallentriesin的.解决方案三:如果就是两张自己建的普通的表呢,比如说整两个表的关联字段有一张表

能不能同时向sql数据库两张表插入数据

问题描述 求存储过程或者语句也可,,,谢谢... 解决方案 解决方案二:两条sql不就行了insertA....insertB....解决方案三:所谓的同时是什么意思,原子操作?那要用存储过程加表锁了.如果说是必须同时成功,或同时失败.那就用事务.解决方案四:对了也可以用触发器来作解决方案五:两表有关系的话,需要加入事务处理.如果一旦失败,可以回滚操作.解决方案六:引用1楼bdmh的回复: 两条sql不就行了insertA....insertB.... ++简单省事解决方案七:引用楼主dupen

MySQL实现两张表数据的同步方法总结

有两张表A和B,要求往A里面插入一条记录的同时要向B里面也插入一条记录,向B里面插入一条记录的同时也向A插入一条记录.两张表的结构不同,需要将其中几个字段对应起来.可以用下面的触发器实现. 表A的触发器: begin set @disable=1; if @disable=1 and NOT EXISTS(SELECT 1 FROM tableB where ID=new.ID) then   insert into tableB (ID,对应字段1) values(new.ID,new.对应字

sql-如何将数据库表的两张表进行合并查询

问题描述 如何将数据库表的两张表进行合并查询 有两张表,数据列均不一样,要将两张表的数据合并到一起,想应的sql怎么拼接呢?求大神解答,不胜感激! 解决方案 你想怎么合并? 如果是按照关系合并,可以这么写 select a.*, b.* from a join b on a.id = b.aid 如果是数据合并(假设两个表都有 相同列1 相同列2 两个字段),那么可以这样 select a.相同列1, a.相同列2 from a union select b.相同列1, b.相同列2 from