天天看点

非相关子查询的定义以及其在执行计划里的表现

转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/9866585

非相关子查询的定义以及其在执行计划里的表现

正解答案:D

非相关子查询是独立于外部查询的子查询,子查询总共执行一次,执行完毕后将值传递给外部查询。

in常用于非相关子查询,当然也可以用于相关子查询,exists,not exists常用于相关子查询。当然这是从常用的业务逻辑上讲的,在语法上,in,exists,not exists都既可以用于非相关子查询,也可以用于相关子查询。

非相关子查询实验测试:

非相关子查询实验1

非相关子查询的定义以及其在执行计划里的表现
非相关子查询的定义以及其在执行计划里的表现

非相关子查询实验2

非相关子查询的定义以及其在执行计划里的表现
非相关子查询的定义以及其在执行计划里的表现

开高级计划看:

[html] view plain copy

  1. [email protected]> ALTER SESSION SET STATISTICS_LEVEL=ALL;  
  2. Session altered.  
  3. [email protected]> SELECT * FROM employees WHERE job_id in   
  4.   2  ( SELECT job_id FROM jobs WHERE min_salary > 10000 );  
  5. [email protected]> SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(NULL,NULL,'ALLSTATS LAST'));  
非相关子查询的定义以及其在执行计划里的表现

继续阅读