【发布时间】:2010-12-08 03:04:43
【问题描述】:
我似乎不记得这个查询了!
我想删除 table1 中 ID 与 Table2 相同的所有行。
所以:
DELETE table1 t1
WHERE t1.ID = t2.ID
我知道我可以执行 WHERE ID IN (SELECT ID FROM table2),但如果可能,我想使用 JOIN 执行此查询。
【问题讨论】:
-
为什么要加入?
-
你打算怎么处理这个问题:stackoverflow.com/questions/1590709/…
-
因为连接通常更快。
-
@tster 可能是需要删除的ids临时表
-
@HLGEM 您是说查询优化器不够聪明,无法像执行联接一样快地执行简单的“从 X 中删除 X.Y IN(从 Bar 中选择 Foo)”吗?我会相信优化器而不是直觉。
标签: sql