转载请注明出处:http://blog.youkuaiyun.com/guoyjoe/article/details/9866585
正解答案:D
非相关子查询是独立于外部查询的子查询,子查询总共执行一次,执行完毕后将值传递给外部查询。
in常用于非相关子查询,当然也可以用于相关子查询,exists,not exists常用于相关子查询。当然这是从常用的业务逻辑上讲的,在语法上,in,exists,not exists都既可以用于非相关子查询,也可以用于相关子查询。
非相关子查询实验测试:
非相关子查询实验1
非相关子查询实验2
开高级计划看:
- hr@MYDB> ALTER SESSION SET STATISTICS_LEVEL=ALL;
- Session altered.
- hr@MYDB> SELECT * FROM employees WHERE job_id in
- 2 ( SELECT job_id FROM jobs WHERE min_salary > 10000 );
- hr@MYDB> SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY_CURSOR(NULL,NULL,'ALLSTATS LAST'));