这样写不行

这样写不行

#删除员工king和他的直接下属员工记录,用表连接实现
delete e
from t_emp e join (select empno from t_emp where ename='KING') t 
on e.empno=t.empno
where e.mgr=t.empno

老师,为什么这样也不行,语法是没有错误的。但是执行结果是没有的,执行了0条记录

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕笑蓉 2020-03-31 18:36:23

同学,你好。不用删除,因为老师的sql文件中已做了表的删除操作,可以选择数据集,直接右键运行sql文件即可;用命令行,可以直接打开cmd,进入到数据库,打开下载的sql文件,将文件中所有内容复制到命令行就可以了,如:

http://img1.sycdn.imooc.com//climg/5e831d12095c5fb205940324.jpg

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

好帮手慕笑蓉 2020-03-31 15:52:29

同学,你好。因为进行表连接后,只有如下一条记录,如:

http://img1.sycdn.imooc.com//climg/5e82f5e10962262a09520107.jpg

再进行where查询时,e.mgr=t.empno没有满足的记录,所以执行结果是没有的,执行了0条记录。可做如下更改:

DELETE e
FROM t_emp e JOIN 
(SELECT empno FROM t_emp WHERE ename='KING') t 
ON e.mgr = t.empno OR e.deptno = t.empno

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

  • 提问者 玖__ #1
    懂了老师,老师,我想重新加载下老师提供的数据表文件,就是每次老师在做练习的时候都会重新加载的文件防止上次做练习时候修改数据表。怎么加载,是直接加载还是先删除在导入。执行的sql语句是什么。用cmd怎么操作
    2020-03-31 18:01:22
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师