oracle logon的账号correlated subquery and non-correlated subquery

correlated subquery and non-correlated subquery

 

子查询:嵌套在其他查询中的查询称之。

子查询又称内部,而包含子查询的语句称之外部查询(又称主查询)。

所有的子查询可以分为两类,即相关子查询和非相关子查询

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

2>相关子查询的执行依赖于外部查询的数据,外部查询执行一行,子查询就执行一次。

故非相关子查询比相关子查询效率高

 

查oracle账号询工资大于所有员工平均工资的员工姓名:

–非相关子查询

SELECT department_id, FIRST_NAME

FROM EMP

WHERE DEPARTMENT_ID = 110

AND SALARY > (SELECT AVG(SALARY)

FROM EMP

WHERE DEPARTMENT_ID = 110); –子查询是一个独立的查询

 

查询工资大于本部门的平均工资的员工姓名:

–相关子查询

SELECT E1.DEPARTMENT_ID , E1.FIRST_NAME

FROM EMP E1

WHERE SALARY > (SELECT AVG(SALARY)

FROM EMP E2

WHERE E2.DEPARTMENT_ID = E1.DEPARTMENT_ID) –依赖于外部查询结果

ORDER BY E1.DEPARTMENT_ID;

此条目发表在oracle metalink账号分类目录,贴了标签。将固定链接加入收藏夹。