ITPub博客

首页 > Linux操作系统 > Linux操作系统 > non-correlated subquery or correlated sub query - [sql语句]

non-correlated subquery or correlated sub query - [sql语句]

原创 Linux操作系统 作者:逍遥三人 时间:2012-03-15 09:00:07 0 删除 编辑
转载:http://justdba.blogbus.com/logs/69326805.html

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
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/,如需转载,请注明出处,否则将追究法律责任。

下一篇: 多表INSERT语句
请登录后发表评论 登录
全部评论

注册时间:2009-05-07

  • 博文量
    73
  • 访问量
    110101