首页 > 其他 > 详细

4.17 删除从其他表引用的记录

时间:2017-09-14 09:28:27      阅读:177      评论:0      收藏:0      [点我收藏+]

从一个表中删除被另外一个表引用的记录。
考虑下面的DEPT_ACCIDENTS表,其中每行代表生产过程中的一次事故,每行记录了发生的部门以及事故类型。
create table dept_accidents
(deptno integer,
accident_name varchar(20));
insert into dept_accidents values (10,‘BROKEN FOOT‘);
insert into dept_accidents values (10,‘FLESH WOUND‘);
insert into dept_accidents values (20,‘FIRE‘);
insert into dept_accidents values (20,‘FIRE‘);
insert into dept_accidents values (20,‘FLOOD‘);
insert into dept_accidents values (30,‘BRISED GLUTE‘);

 

使用子查询和聚集函数count来查出发生了三次事故以上的部门,然后将这些部门的员工全部删除。

delete from emp
where deptno in 
(select deptno from dept_accidents group by deptno having count(*)>=3);

4.17 删除从其他表引用的记录

原文:http://www.cnblogs.com/liang545621/p/7518759.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!