Oracle,用left join 替代 exists ,not exists,in , not in,提高效率

Posted 美好的明天

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle,用left join 替代 exists ,not exists,in , not in,提高效率相关的知识,希望对你有一定的参考价值。

Not IN问题

Exists,not Exists,in,not in

 

例如:

DELETE FROM YSHA WHERE NOT EXISTS(SELECT 1 FROM YSHB B WHERE YSHA.code=b.code )

等同于

DELETE A FROM YSHA A LEFT JOIN YSHB B ON A.code=b.code WHERE b.code is NULL

 

以上是关于Oracle,用left join 替代 exists ,not exists,in , not in,提高效率的主要内容,如果未能解决你的问题,请参考以下文章

CROSS JOIN + LEFT JOIN 子查询的替代策略?

左连接,右连接,内连接,外连接, join, left join, right join ,mysql ,oracle

带有 ON 子句或替代方法的休眠 LEFT JOIN FETCH

Oracle的left join中on和where的区别

[转]Oracle left join right join

oracle数据库中,left join后 where 的使用方法有哪些?