为了账号安全,请及时绑定邮箱和手机立即绑定

DELETE还是没有搞明白啊

是否可以这样理解~~DELETE t1 FROM t1 LEFT JOIN t2 ON ~~~WHERE ~~~~~~~

                  这句话的意思就是,从t1中删除符合 t1 LEFT JOIN t2 ON ~~WHERE~~~的结果,之后剩下的就是我们要查询的结果,这样理解对吗?

                  可是, t1 LEFT JOIN t2 ON ~~WHERE~~~是一个LEFT JOIN ,所以它应该包含原本的t1,这样的话从t1中删除岂不是应该什么都没有了吗?

                 这句话到底应该怎么理解呢???


正在回答

2 回答

这儿的t2是t1的子集,delete时用LFET JOIN 和INNER JOIN 没有差别。如果t2不是t1的子集,delete时LETE JOIN跟 INNER JOIN就不一样了。自己把视频中delete的SQL语句拆分成短SQL语句做做试验。

0 回复 有任何疑惑可以回复我~
#1

炸木沐吃

你确定这里没区别?
2016-03-25 回复 有任何疑惑可以回复我~
#2

染红_街道

你确定没区别》?? 我一次给删掉六条记录 就把left改为inner
2016-07-15 回复 有任何疑惑可以回复我~

t1 left join t2 on~~where~~~得到的是一个包含所有t1行以及满足连接条件的t2行的结果集,delete t1 from 这个结果集 是这个意思。。。这个结果集本来可以完全显示出来 但是你删除了t1所有的行 就只剩下 t2满足连接条件的行了。。。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
与MySQL的零距离接触
  • 参与学习       396886    人
  • 解答问题       3353    个

本课程涵盖全部MySQL数据库的基础,学习MySQL数据库的基础知识

进入课程

DELETE还是没有搞明白啊

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信