删除员工king和他的直接下属员工

删除员工king和他的直接下属员工

删除员工king和他的直接下属员工


比如员工

king 有3个下属, 而每个下属又有很多下属员工,一级一级

类似于文件树


删除king主 , 也连带删除所有的子分支​

怎么写呀,想不出来


正在回答

登陆购买课程后可参与讨论,去登陆

1回答

同学,你好,同学可以参考下述代码实现:

先查询出KING对应的员工编号empno,再与t_emp作连接,连接条件为员工编号empno与上司编号mrg相等或两个表的员工编号相等,用于删除king的下属员工及king本人

delete e from t_emp e
join
(select empno from t_emp where ename = 'KING') as t
on t.empno = e.mgr or e.empno = t.empno

​祝学习愉快~~~~

  • qq_浮沉_34 提问者 #1

    您好

    我想问的是删除“主分支”,其下所有分支全部删除

    例如

    员工king , 下面有两个员工 , 王五,王六

    王五又有子员工,赵七


    我想删除员工king , 删除下所有分支 , 包括赵七


    类似于,删除文件夹, 其下面所有嵌套文件夹也全部删除​

    2021-01-21 21:28:20
  • 好帮手慕燕燕 回复 提问者 qq_浮沉_34 #2

    同学,你好!同学的想法是用3张表吗,像下面这样,员工king在c_master表中

    http://img1.sycdn.imooc.com//climg/600a4d12097ab41303240155.jpg

    king的子员工在e_employee表中

    http://img1.sycdn.imooc.com//climg/600a4d5a0925935203200152.jpg

    王五的子员工在sub_employee表中

    http://img1.sycdn.imooc.com//climg/600a4d810975308102900131.jpg

    可以按部门编号删除,king、王五、王六以及赵七,都是一个大部门下的,参考语句:

    DELETE c, e, s

    FROM c_master c, e_employee e, sub_employee s

    WHERE c.detpno = 1 AND e.detpno=1 AND s.deptno=1;

    祝学习愉快~

    2021-01-22 12:02:24
  • qq_浮沉_34 提问者 回复 好帮手慕燕燕 #3
    http://img1.sycdn.imooc.com//climg/600a8d9009376b4510870760.jpg
    2021-01-22 16:32:18
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师