删去 SALES 部门的员工及没有部门的员工的例子

来源:4-4 课堂作业讲解:DELETE语句

Umud

2020-05-27 15:38:01

删去 SALES 部门的员工及没有部门的员工

DELETE e

FROM t_emp e LEFT JOIN (SELECT deptno FROM t_dept WHERE dname="SALES") t

ON e.deptno=t.deptno OR e.deptno IS NULL;

我这样写,就删除了t_emp表的所有记录。不知道什么原因

写回答

1回答

好帮手慕觉浅

2020-05-27

同学你好:在这个语句中没有使用WHERE进行条件判断,e.deptno=t.deptno仅仅是作为表连接的方式而并没有作为条件,因此会将e中所有的数据都删除。同学可以添加一个WHERE e.deptno=t.deptno对删除的数据进行条件判断,如下:

DELETE e

FROM t_emp e LEFT JOIN (SELECT deptno FROM t_dept WHERE dname="SALES") t

ON e.deptno=t.deptno WHERE e.deptno=t.deptno OR e.deptno IS NULL;

如果解决了你的疑惑,请采纳,祝学习愉快~


0

0 学习 · 2669 问题

查看课程