请问这样的写法为什么不对 把所有数据都删除了

来源: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回答

好帮手慕笑蓉

2020-04-06

同学,你好。因为采用LEFT JOIN 左连接,将返回左表的所有行。如果左表的某行在右表中没有匹配行,则将为右表返回空值左连接,所以查询到的结果是t_emp表的所有数据,则数据都删除了。

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


0

0 学习 · 2669 问题

查看课程