相关子查询和非相关子查询概念

主查询:包含其它子查询的查询称为主查询。(又称外部查询)

子查询:嵌套在其它查询中的查询语句。(又称为内部查询)

子查询分为两类:

    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  
注:使用相关子查询比较多的就是使用exists等关键字。  

 

posted @ 2018-01-17 13:32  达摩院的BLOG  阅读(1116)  评论(0编辑  收藏  举报