delete和delete from的区别
当要删除表格中某条记录时,一般可以写作:
delete from table where column = 'xxx'
今天偶然发现,如果不加delete后面不写from,也可以达到同样的效果
请问各位前辈,delete和delete from两种写法,会不会有什么区别呢?
------解决方案--------------------没区别好像
就像insert和insert into
------解决方案--------------------有区别.
如果要两表连接进行 delete,则必须要用 from,而且还要加别名.
------解决方案--------------------比如前面回答的一个例子:
DELETE t FROM Baselnfo t
INNER JOIN QQUser AS QQU ON (DATEDIFF(DAY,QQU.LastLogTime,GETDATE())>1000)
这儿必须加 from.
------解决方案--------------------你如果只针对表进行删除,则一样.
但是如果需要联合其他表,则需要使用from
例如
delete tb1 from tb1 m where id in (select id from tb2)
------解决方案--------------------嗯,就是这样
------解决方案--------------------用from还有一点好处就是可以用别名
delete t from tb t where exists(select 1 from tb where col=t.col and id<t.id)
------解决方案--------------------
+
------解决方案--------------------我的习惯是一般都按标准方式来,不省略from之类的东西,写全了肯定不会出错,也不用关心那些区别,工作量也不至于因为多写几个单词增加多少.
------解决方案--------------------from 可以多表进行连接
------解决方案--------------------2 3456789楼都有用...
------解决方案--------------------
就是这样干的