Oracle 通过左连接替换不在

Oracle replace not in by left join

我正在尝试创建一个清理脚本来清除所有未使用的描述: 我的查询看起来像:

DELETE FROM DESCRIPCIONES WHERE ID_DESCRIPCION NOT IN
(SELECT ID_NOMBRE FROM CUESTIONARIOS 
UNION
SELECT ID_DESCRIPCION FROM CUESTIONARIOS 
UNION
SELECT ID_NOMBRE FROM PLANTILLAS
....
)

而且我在这个查询中有更多的 UNION。这就是此查询花费太多时间的原因。有没有办法用更快的 LEFT JOIN 替换此查询并避免嵌套查询。 PD:Oracle 11g

谢谢

最后我使用了下一个查询:

DELETE FROM DESCRIPCIONES WHERE ID_DESCRIPCION NOT IN
(SELECT ID_NOMBRE FROM CUESTIONARIOS 
UNION ALL
SELECT ID_DESCRIPCION FROM CUESTIONARIOS 
UNION ALL
SELECT ID_NOMBRE FROM PLANTILLAS
....
)

并且有了巨大的性能提升,感谢大家!