shengbinqian 发表于 2013-9-24 14:41:37

hash join anti 和 not exists

本帖最后由 shengbinqian 于 2013-9-24 14:53 编辑

请教大家一个问题: 在oracle10g使用scott用户执行
SELECT   t1.deptno, t1.dname
      FROM   dept t1
      WHERE   not exists(SELECT t2.deptnofrom emp t2 where t1.deptno=t2.deptno)

dept的主键被删除。emp存在 deptno为 null的数据., dept表中也存在deptno为null的记录

这条sql 试验的执行计划是: HASH JOIN ANTI       进行 两个表的连接。

现在问题是:不是说hash桶是不允许存放null 值的吗? 那这个sql 为什么还要使用 hash join 的反连接呢?       请那位指教下

在 处理 dept 驱动表的时候 Hash Join anit 是怎么处理 NULL 值的?

页: [1]
查看完整版本: hash join anti 和 not exists