• <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • Oracle教程
    Oracle練習題

    Oracle子查詢

     

     

    子查詢就是嵌套的select語句,可以理解為子查詢是一張表。

     

     

    在where語句中使用子查詢,也就是在where語句中加入select語句

     

    1、查詢員工信息,查詢哪些人是管理者,要求顯示出其員工編號和員工姓名

     

    select empno, ename from emp where empno in(select distinct mgr from emp);

     

     

    實現思路:

     

    ● 先查詢出管理者的編號,另外取出重復記錄

     

    select distinct mgr from emp where mgr is not null;

     

    ● 查詢包含管理者編號的員工

     

    select empno, ename from emp where empno in(select distinct mgr from emp where mgr is not null);

     

    2、查詢哪些人的薪水高于員工的平均薪水,需要顯示員工編號,員工姓名,薪水實現思路

     

    ● 首先取得平均薪水

     

    select avg(sal) from emp;

     

    ● 取得大于平均薪水的員工

     

    select empno, ename, sal from emp where sal>(select avg(sal) from emp);

     

     

    分析思路:首先根據文字描述找出被依賴的條件,逐次分析。

     

     

    在from語句中使用子查詢,也就是在from語句中加入select語句

     

    在from后面加入子查詢,可以直接理解為一張表。

     

    1、查詢各個部門的平均薪水所屬等級,需要顯示部門編號,平均薪水,等級編號實現思路

     

    ● 首先取得部門的平均薪水

     

    select deptno, avg(sal) avg_sal from emp group by deptno;

     

    ● 將平均薪水,作為一張表和等級表比較

     

    select a.deptno, a.avg_sal, b.grade 
    from (select deptno, avg(sal) avg_sal from emp group by deptno) a, salgrade b 
    where a.avg_sal between b.losal and b.hisal;

     

     

    關鍵點:將子查詢看作一張表。

     

     

    在select語句中使用子查詢,也就是在select語句中加入select語句

     

    1、查詢員工信息以及部門名稱

     

    select  e.empno, e.ename, e.deptno, (select dname from dept where deptno = e.deptno) as dname from emp e;

     

     

    全部教程
  • <nav id="wkkge"><strong id="wkkge"></strong></nav>
  • <menu id="wkkge"></menu>
  • 面对面棋牌游戏