<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    斷點

    每天進步一點點!
    posts - 174, comments - 56, trackbacks - 0, articles - 21

    SQL組合查詢例子

    Posted on 2010-07-06 23:25 斷點 閱讀(538) 評論(0)  編輯  收藏 所屬分類: Oracle DBA

    select e1.ename,e2.ename from emp e1 join emp e2 on (e1.mgr=e2.empno); --自連接,從e2中取出e1的經理人。
    select ename,dname from emp e left join dept d on (e.deptno=d.deptno);   --左外連接
    select ename,dname from emp e right outer join dept d on (e.deptno=d.deptno);   --右外連接
    select ename,dname from emp e full join dept d on (e.deptno=d.deptno);    --全連接


    --求部門中哪些人的薪水最高
    select ename,sal from emp
    join (select max(sal) max_sal,deptno from emp group by deptno) t
    on (emp.sal = t.max_sal and emp.deptno = t.deptno);

    --求部門平均薪水的等級
    select deptno,avg_sal,grade from
    (select deptno,avg(sal) avg_sal from emp group by deptno) t
    join salgrade s on (t.avg_sal between s.losal and s.hisal);


    --求部門平均的薪水等級
    select avg(grade) from
    (select deptno,ename,grade from emp join salgrade s on (emp.sal between s.losal and s.hisal )) t
    group by deptno;

    --雇員中有哪些人是經理人
    select ename from emp where empno in (select distinct mgr from emp);


    --不準用組函數,求薪水的最高值。采用的是自連接。
    select distinct sal from emp where sal not in
    (select distinct e1.sal from emp e1 join emp e2 on (e1.sal < e2.sal));


    --求平均薪水最高的部門的部門編號。嵌套的組函數。
    select deptno,avg_sal from
    (select avg(sal) avg_sal,deptno from emp group by deptno)
    where avg_sal =
    (select max(avg(sal)),deptno from emp group by deptno;

     

    --求平均薪水的等級最低的部門的部門名稱。
    select dname,t1.deptno,grade,avg_sal from
      (
       select deptno,grade,avg_sal from
         (select deptno,avg(sal) avg_sal from emp group by deptno) t
         join salgrade s on (t.avg_sal between s.losal and s.hisal)
      )
       t1
       join dept on (t1.deptno = dept.deptno)
    )
    where t1.grade =
    (
     select min(grade) from
         (select deptno,grade,avg_sal from
      (select deptno,grade,avg(sal) avg_sal from emp group by deptno) t
       join salgrade s on (t.avg_sal between s.losal and s.hisal)
         )
    )


    --求平均薪水的等級最低的部門的部門名稱。采用視圖。
    conn sys/sys as sysdba;
    grant create table,create view to scott;

    create view v$_dept_avg_sal_info as
    select deptno,grade,avg_sal from
      (select deptno,grade,avg(sal) avg_sal from emp group by deptno) t
       join salgrade s on (t.avg_sal between s.losal and s.hisal);

    select dname,t1.deptno,grade,avg_sal from
       v$_dept_avg_sal_info t1
       join dept on (t1.deptno = dept.deptno)
    )
    where t1.grade =
    (
     select min(grade) from  v$_dept_avg_sal_info
    )

    -- 比普通員工的最高薪水還要高的經理人名稱。
    select ename from emp
    where empno in (select distinct mgr from emp where mgr is not null)
    and sal >
    (
      select max(sal) from emp where empno not in
      (select distinct mgr from emp where mgr is not null)
    )

     

    主站蜘蛛池模板: 亚洲精品视频免费观看| 国产成人精品日本亚洲语音| GOGOGO免费观看国语| 国产一级淫片a免费播放口之| 亚洲人成网站18禁止| 免费看大黄高清网站视频在线| 亚洲精品一二三区| 狠狠久久永久免费观看| 无码一区二区三区亚洲人妻 | 久久WWW免费人成一看片| 亚洲综合久久综合激情久久| 久久免费的精品国产V∧| 亚洲首页在线观看| 久久久久免费看黄A片APP| 无码精品人妻一区二区三区免费看| 亚洲午夜久久久久久久久电影网| 岛国岛国免费V片在线观看| 亚洲va久久久噜噜噜久久男同 | 最近在线2018视频免费观看| 亚洲精品二三区伊人久久| 国产自产拍精品视频免费看| 在线播放国产不卡免费视频| 久久精品国产亚洲麻豆| 99视频全部免费精品全部四虎| 亚洲欧洲日产国码高潮αv| 久久久久久av无码免费看大片| 亚洲av片劲爆在线观看| 日韩吃奶摸下AA片免费观看| 亚洲AV成人无码久久WWW| 亚洲日韩中文字幕在线播放| 久久久久久国产精品免费无码| 亚洲AV无码无限在线观看不卡| 免费国产a国产片高清| 在线观看肉片AV网站免费| 中文字幕亚洲男人的天堂网络| 免费一级特黄特色大片在线观看| 91成人免费观看在线观看| 91午夜精品亚洲一区二区三区| 无码专区一va亚洲v专区在线| 国产成人一区二区三区视频免费| 中文字幕无码精品亚洲资源网久久|