Peaceful mind Where there is a will, there is a way!

2Jun/090

delete如何写?

废话少说,直接进入主题
比如有2个表t1和t2

create table t1(int i,int j);
insert into t1 values(3,4),values(5,8);
create table t2 (int k,int j);
insert into t1 values(6,4),values(7,9),values(10,11);

我们要求也很简单,需要删除t1中j在t2中的数据:
如果是以前,我想都不用想就这么写:

delete from t1 where t1.j in (select j from t2);

在翻了手册后,才发现原来还可以这么写

delete t1 from t1,t2 where t1.=t2.j
delete t1 from t1 inner join t2 on t1.j=t2.j;
delete from t1 using t1,t2 where t1.j=t2.j;
delete t1 from t1,t2 where find_in_set(t1.j,t2.j);

暂时只想到这么多,大家还有什么方法都可以讨论下,^_^

Tagged as: , No Comments