版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://justdba.blogbus.com/logs/69326805.html
子查询:嵌套在其他查询中的查询称之。
子查询又称内部,而包含子查询的语句称之外部查询(又称主查询)。
所有的子查询可以分为两类,即相关子查询和非相关子查询
1>非相关子查询是独立于外部查询的子查询,子查询总共执行一次,执行完毕后将值传递给外部查询。
2>相关子查询的执行依赖于外部查询的数据,外部查询执行一行,子查询就执行一次。
故非相关子查询比相关子查询效率高
--非相关子查询
SELECT EMPNO, LASTNAME
FROM EMPLOYEE
WHERE WORKDEPT = A00
AND SALARY > (SELECT AVG(SALARY)
FROM EMPLOYEE
WHERE WORKDEPT = A00) –子查询是一个独立的查询
--相关子查询
SELECT E1.EMPNO, E1.LASTNAME, E1.WORKDEPT
FROM EMPLOYEE E1
WHERE SALARY > (SELECT AVG(SALARY)
FROM EMPLOYEE E2
WHERE E2.WORKDEPT = E1.WORKDEPT) –依赖于外部查询结果
ORDER BY E1.WORKDEPT
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/21584437/viewspace-718594/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/21584437/viewspace-718594/