楼主 你看一下联机帮助里的DELETE 语法就都明白了有一些是可选项,可以写也可以不写

解决方案 »

  1.   

    不知道你上帖是干什么。这几句,如果是为研究SQL用法,未尝不可。正常思维应该是这样的吧: delete taby
      

  2.   

    前面都是一样的,delete 后面要指定删除的表,from后面跟要关联的表,删除只对delete后面的表进行,对from后面的不会删除
    delete taby from tabx 这句因为没有指定连接条件,相当于select * from taby,tabx 选择了所有记录进行删除
    其实可以把这个想成是select就行了,select会有什么结果,那么delete就会删除那些结果
      

  3.   

    支持 mgsray(我是新新新新,新来的吧) (
      

  4.   

    是不是我说的不太明白?不好意思:)问题就是这样的:
    经试验,这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,
    这种省略道理何在?有没有可能产生混淆?
      

  5.   

    所有的delete 当成select 就ok了
      

  6.   

    delete ,select  两个的规则是一样的!有的时候搭配着想就想通了!
      

  7.   

    --delete taby from tabx where tabx.salary=taby.salary
    实际上这句话的关键之处在于把from taby,tabx省略成了from tabx,
    这种省略道理何在?有没有可能产生混淆?如果说同select是一样的,那摩:
    select * from a,b(作ab的笛卡尔积)  
    就等同于
    select a from b 
    ??¥%—%*(¥#%*(·#%·#
      

  8.   

    delete from 表1 from 表2,表3,表4,.....delete from 是一起的,可以作为一个词来看,这里的from可以省略而已.
      

  9.   

    最后的问题:
    --delete taby from tabx where tabx.salary=taby.salary
    实际上这句话的关键之处在于把from taby,tabx省略成了from tabx,
    这种省略道理何在?有没有可能产生混淆?如果说同select是一样的,那摩:
    select * from a,b(作ab的笛卡尔积)  
    就等同于
    select a from b 
    ??¥%—%*(¥#%*(·#%·#