是否从两个表中的查询匹配条件中删除SQL?

是否从两个表中的查询匹配条件中删除SQL?,sql,sql-delete,Sql,Sql Delete,此查询将删除所有行,而我只想删除两个表中measureid匹配的行,如下所示: delete from temp1 where exists (select t1.* from temp1 t1, temp2 t2 where t2.measureid = t1.measureid) 我必须更改什么?我认为你不想使用存在的我认为你想在中使用 delete from temp1 where measureid in (sel

此查询将删除所有行,而我只想删除两个表中
measureid
匹配的行,如下所示:

delete from temp1 
where exists (select t1.* 
              from temp1 t1, temp2 t2 
              where t2.measureid = t1.measureid)

我必须更改什么?

我认为你不想使用
存在的
我认为你想在
中使用

delete from temp1 where measureid in 
    (select t1.measureid from temp1 t1, temp2 t2 where t2.measureid = t1.measureid);
或者更好

delete from temp1 where measureid in 
    (select measureid from temp2);

我认为您不想在
中使用
存在
我认为您想在

delete from temp1 where measureid in 
    (select t1.measureid from temp1 t1, temp2 t2 where t2.measureid = t1.measureid);
或者更好

delete from temp1 where measureid in 
    (select measureid from temp2);
那是因为

select t1.* from temp1 t1, temp2 t2 where t2.measureid = t1.measureid
始终返回行。你可能想要的是

delete from temp1 t1 where exists (select t2.* from temp2 t2 where t2.measureid = t1.measureid)
那是因为

select t1.* from temp1 t1, temp2 t2 where t2.measureid = t1.measureid
始终返回行。你可能想要的是

delete from temp1 t1 where exists (select t2.* from temp2 t2 where t2.measureid = t1.measureid)