请问这样的写法为什么不对 把所有数据都删除了
来源:4-4 课堂作业讲解:DELETE语句
慕桂英2025389
2020-04-05 22:10:16
# 删除SALES部门的员工,以及没有部门的员工
DELETE e
FROM t_emp e LEFT JOIN
(SELECT deptno
FROM t_dept
WHERE dname='SALES') x
ON e.deptno=x.deptno or e.deptno is NULL;
1回答
同学,你好。因为采用LEFT JOIN 左连接,将返回左表的所有行。如果左表的某行在右表中没有匹配行,则将为右表返回空值左连接,所以查询到的结果是t_emp表的所有数据,则数据都删除了。
如果解决了你的疑惑,请采纳,祝学习愉快~
相似问题