老师,这样子咋不行
#删除sales部门的员工,以及没有部门的员工
DELETE t1
FROM
t_emp t1 LEFT JOIN
(SELECT deptno FROM t_dept WHERE dname="") t2
ON t1.deptno is NULL OR t1.deptno = t2.deptno;
23
收起
正在回答 回答被采纳积分+1
2回答
好帮手慕小尤
2021-05-06 16:07:17
同学你好,同学是否是想要删除t_emp表中部门(deptno)为null的数据?如果是,则使用下方代码是可以实现删除的。如下所示:
DELETE t1
FROM
t_emp t1 JOIN
(SELECT deptno FROM t_dept WHERE dname="SALES")t2
ON t1.deptno is NULL OR t1.deptno = t2.deptno;
其中(SELECT deptno FROM t_dept WHERE dname="SALES")t2会获取到deptno为30的数据
然后通过on条件删除t1.deptno(t_emp表中deptno字段)为null或t1.deptno 等于t2.deptno(t_dept表中deptno字段),也就是删除t1.deptno为null或t1.deptno 等于30的数据。如下所示:
执行sql语句,会处理7条数据,也就是删除t_emp表中deptno字段等于30与t_emp表中deptno字段等于null(空)的数据。如下所示:
综上所示,是可以删除员工表中部门为null的数据的。同学无法实现删除,则建议同学重新测试一下。或同学可以反馈一下sql语句,与sql结构便于老师定位问题。
祝学习愉快!
java工程师2020版
- 参与学习 人
- 提交作业 9393 份
- 解答问题 16556 个
综合就业常年第一,编程排行常年霸榜,无需脱产即可学习,北上广深月薪过万 无论你是未就业的学生还是想转行的在职人员,不需要基础,只要你有梦想,想高薪
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星