前面都是一样的,delete 后面要指定删除的表,from后面跟要关联的表,删除只对delete后面的表进行,对from后面的不会删除 delete taby from tabx 这句因为没有指定连接条件,相当于select * from taby,tabx 选择了所有记录进行删除 其实可以把这个想成是select就行了,select会有什么结果,那么delete就会删除那些结果
支持 mgsray(我是新新新新,新来的吧) (
是不是我说的不太明白?不好意思:)问题就是这样的: 经试验,这3句(仅是举个例子)都能正常执行的,而且是实现同样的功能1、delete taby from taby a,tabx b where a.salary=b.salary 应该很标准,没神马说的2、delete from taby from taby a,tabx b where a.salary=b.salary 实际上这句话的关键之处在于用了2个from,有没有可能产生混淆?3、delete taby from tabx where tabx.salary=taby.salary 实际上这句话的关键之处在于把from taby,tabx省略成了from tabx, 这种省略道理何在?有没有可能产生混淆?
所有的delete 当成select 就ok了
delete ,select 两个的规则是一样的!有的时候搭配着想就想通了!
--delete taby from tabx where tabx.salary=taby.salary 实际上这句话的关键之处在于把from taby,tabx省略成了from tabx, 这种省略道理何在?有没有可能产生混淆?如果说同select是一样的,那摩: select * from a,b(作ab的笛卡尔积) 就等同于 select a from b ??¥%—%*(¥#%*(·#%·#
delete from 表1 from 表2,表3,表4,.....delete from 是一起的,可以作为一个词来看,这里的from可以省略而已.
最后的问题: --delete taby from tabx where tabx.salary=taby.salary 实际上这句话的关键之处在于把from taby,tabx省略成了from tabx, 这种省略道理何在?有没有可能产生混淆?如果说同select是一样的,那摩: select * from a,b(作ab的笛卡尔积) 就等同于 select a from b ??¥%—%*(¥#%*(·#%·#
delete taby from tabx 这句因为没有指定连接条件,相当于select * from taby,tabx 选择了所有记录进行删除
其实可以把这个想成是select就行了,select会有什么结果,那么delete就会删除那些结果
经试验,这3句(仅是举个例子)都能正常执行的,而且是实现同样的功能1、delete taby from taby a,tabx b where a.salary=b.salary
应该很标准,没神马说的2、delete from taby from taby a,tabx b where a.salary=b.salary
实际上这句话的关键之处在于用了2个from,有没有可能产生混淆?3、delete taby from tabx where tabx.salary=taby.salary
实际上这句话的关键之处在于把from taby,tabx省略成了from tabx,
这种省略道理何在?有没有可能产生混淆?
实际上这句话的关键之处在于把from taby,tabx省略成了from tabx,
这种省略道理何在?有没有可能产生混淆?如果说同select是一样的,那摩:
select * from a,b(作ab的笛卡尔积)
就等同于
select a from b
??¥%—%*(¥#%*(·#%·#
--delete taby from tabx where tabx.salary=taby.salary
实际上这句话的关键之处在于把from taby,tabx省略成了from tabx,
这种省略道理何在?有没有可能产生混淆?如果说同select是一样的,那摩:
select * from a,b(作ab的笛卡尔积)
就等同于
select a from b
??¥%—%*(¥#%*(·#%·#