zoukankan      html  css  js  c++  java
  • oracle高级查询之相关子查询

    在子查询中一般先执行子查询,在执行住查询,但是相关子查询列外

    相关子查询就是把主查询的值作为参数传递给子查询

    例子:找到员工表中薪水大于平均薪水员工

    方法一:select    empno,ename,sal,(select  avg(sal) from emp where  deptno=e.deptno) avgsal

    from emp  e

    where sal>(select  avg(sal) from emp where  deptno=e.deptno)

    即是子查询中的deptno需要依赖主查询表中员工所在的部门,需要把主查询表中的e.deptno传递给子查询===

    ===============================

    方法二

    select    e.empno  ,e.ename  e.sal,  d. avgsal

    from  emp e,(select   deptno,avg(sal) avgsal  from emp group by deptno)  d

    where  e.deptno =d.deptno  and e.sal>d.avgsal;

    相关子查询比直接子查询性能高

  • 相关阅读:
    困难的图论
    [Poi2011]Meteors
    四维偏序
    bzoj2738矩阵乘法
    创建线程的三种方式
    java邮件发送
    Nginx配置文件分析
    如何理解java反射?
    正则表达式
    jenkins新手入门教程
  • 原文地址:https://www.cnblogs.com/libaowen609/p/12819699.html
Copyright © 2011-2022 走看看