删去 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回答
同学你好:在这个语句中没有使用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;
如果解决了你的疑惑,请采纳,祝学习愉快~
相似问题