删除a表中和b表相同的数据
来源:互联网 发布:js验证身份证 编辑:程序博客网 时间:2024/05/19 20:42
SQL> create table a (
2 bm char(4), --编码
3 mc varchar2(20) --名称
4 )
5 /
表已建立.
SQL> insert into a values('1111','1111');
SQL> insert into a values('1112','1111');
SQL> insert into a values('1113','1111');
SQL> insert into a values('1114','1111');
SQL> insert into a values('1115','1111');
SQL> create table b as select * from a where 1=2;
表已建立.
SQL> insert into b values('1111','1111');
SQL> insert into b values('1112','1111');
SQL> insert into b values('1113','1111');
SQL> insert into b values('1114','1111');
SQL> commit;
完全提交.
SQL> select * from a;
BM MC
---- --------------------
1111 1111
1112 1111
1113 1111
1114 1111
1115 1111
SQL> select * from b;
BM MC
---- --------------------
1111 1111
1112 1111
1113 1111
1114 1111
方法一:exists子句
SQL> delete from a where exists (select 'X' from b where a.bm=b.bm and a.mc=b.mc);
删除4个记录.
where条件:如果两个表中都拥有相同字段的主键(primary key),则只需比较两个主键就可以了
方法二:in子句
SQL> delete from a where (bm,mc) in (select bm,mc from b);
删除4个记录.
SQL> select * from a;
BM MC
---- --------------------
1115 1111
2 bm char(4), --编码
3 mc varchar2(20) --名称
4 )
5 /
表已建立.
SQL> insert into a values('1111','1111');
SQL> insert into a values('1112','1111');
SQL> insert into a values('1113','1111');
SQL> insert into a values('1114','1111');
SQL> insert into a values('1115','1111');
SQL> create table b as select * from a where 1=2;
表已建立.
SQL> insert into b values('1111','1111');
SQL> insert into b values('1112','1111');
SQL> insert into b values('1113','1111');
SQL> insert into b values('1114','1111');
SQL> commit;
完全提交.
SQL> select * from a;
BM MC
---- --------------------
1111 1111
1112 1111
1113 1111
1114 1111
1115 1111
SQL> select * from b;
BM MC
---- --------------------
1111 1111
1112 1111
1113 1111
1114 1111
方法一:exists子句
SQL> delete from a where exists (select 'X' from b where a.bm=b.bm and a.mc=b.mc);
删除4个记录.
where条件:如果两个表中都拥有相同字段的主键(primary key),则只需比较两个主键就可以了
方法二:in子句
SQL> delete from a where (bm,mc) in (select bm,mc from b);
删除4个记录.
SQL> select * from a;
BM MC
---- --------------------
1115 1111
- 删除a表中和b表相同的数据
- 删除a表中和b表相同的数据
- 删除a表中和b表相同的数据
- 删除a表中和b表相同的数据
- 删除a表中和b表相同的数据
- 删除一个表中和另一个表相同的记录
- 对比a,b两个表相同字段 数据的差异
- Firebird2.5:a、b表结构相同,向a表插入b表的数据
- 从链表a中找出与链表b相同的值并删除!
- 删除链表A中与链表B结点相同的结点
- 删除链表中和某一个数相同的元素(单向链表)哈理工oj1546
- oracle触发器(当插入或删除或修改一张表A时,能把新数据同步到另一张结构相同的表B里面)
- sql 把a表的数据插入b表中,where某一个字段相同
- 触发器实现删除一条数据连同其它表中和它有关的数据一并删除
- 在相同主键的两个表A,B中,按表A存在的记录删除表B中不存在的记录
- 有两个链表a和b,设结点中包含学号和姓名,从a链表中删除和b链表中相同学号的结点
- 删除字符串A中和所有和字符串B一样的内容
- SQL语句 删除表user 中字段name 内容重复的记录,A表 ,B表 字段相同 有关联关系的表 对表两个表中的数据
- 数组中 &a和 &a[0],a 的区别
- ios多线程的一些总结
- VS2012中,为MFC程序添加右键菜单
- 打造Android的中文Siri语音助手(二)——添加虫洞的开放API
- php为空的几个判断
- 删除a表中和b表相同的数据
- 多线程GCD
- Lucene简介(理论篇)
- erlang多节点name conflict
- nginx 0.8.x中linux aio实现
- 关于JSValidation框架使用出现的问题
- DBA_JOBS_RUNNING
- 把windows的bat用好了,也很不错
- 事务槽及Oracle多种提交方式