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

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

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

    斷點(diǎn)

    每天進(jìn)步一點(diǎn)點(diǎn)!
    posts - 174, comments - 56, trackbacks - 0, articles - 21

    SQL組合查詢例子

    Posted on 2010-07-06 23:25 斷點(diǎn) 閱讀(534) 評(píng)論(0)  編輯  收藏 所屬分類: Oracle DBA

    select e1.ename,e2.ename from emp e1 join emp e2 on (e1.mgr=e2.empno); --自連接,從e2中取出e1的經(jīng)理人。
    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);

    --求部門平均薪水的等級(jí)
    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);


    --求部門平均的薪水等級(jí)
    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;

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


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


    --求平均薪水最高的部門的部門編號(hào)。嵌套的組函數(shù)。
    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;

     

    --求平均薪水的等級(jí)最低的部門的部門名稱。
    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)
         )
    )


    --求平均薪水的等級(jí)最低的部門的部門名稱。采用視圖。
    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
    )

    -- 比普通員工的最高薪水還要高的經(jīng)理人名稱。
    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)
    )

     

    主站蜘蛛池模板: 久久国产乱子伦精品免费强| 国产精品亚洲精品日韩电影| 三年片免费高清版 | 国产成人精品曰本亚洲79ren| 国产女高清在线看免费观看| 亚洲一卡2卡三卡4卡无卡下载 | 日韩精品无码一区二区三区免费| 99久久这里只精品国产免费| 久久精品国产亚洲av日韩| 久热免费在线视频| 亚洲午夜精品久久久久久人妖| 亚洲男同gay片| 四虎影视永久免费观看网址| 高潮毛片无遮挡高清免费视频| 日韩精品免费在线视频| 亚洲精品乱码久久久久久自慰| 色婷婷六月亚洲综合香蕉| 日韩免费视频播播| ww在线观视频免费观看w| 国产亚洲福利精品一区| 亚洲黄色免费网站| 亚洲精品人成网线在线播放va | 亚洲日日做天天做日日谢| 成人在线免费观看| 无码人妻一区二区三区免费视频 | 91精品免费不卡在线观看| 亚洲性线免费观看视频成熟| 免费播放在线日本感人片| 亚洲XX00视频| 免费一级不卡毛片| 亚洲黄色免费在线观看| 国内自产少妇自拍区免费| 成人久久久观看免费毛片| 久久亚洲精品无码aⅴ大香| 成年女人毛片免费观看97| 一级毛片视频免费观看| 亚洲黄色在线观看视频| 国产免费观看网站| 免费视频成人手机在线观看网址| 亚洲AV无码成H人在线观看| 免费人成在线观看网站品爱网|