oracle exists关键字的用法。

之前对oracle的exits关键字的作用存在误区,先写此文记录一下:

 见sql:

         delete from a where exists (select null from b where b.id1=a.id1 and b.id2=a.id2)

 这里是满足 a.id1=b.id1 and a.id2=b.id2的记录均会被删除。

之前理解为只用存在满足a.id1=b.id1 and a.id2=b.id2条件的记录,那么a表中所有记录均会被删除。

这样理解是基于对oracle 内部查找机制的不熟悉,只看到的语句的前部分和字面意思导致。

所以深入理解oracle执行的机制,很重要。

你可能感兴趣的:(oracle)