<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)
    )

     

    主站蜘蛛池模板: 亚洲AV性色在线观看| 中文字幕成人免费高清在线| 国产精品国产亚洲区艳妇糸列短篇 | 久久久WWW成人免费精品| 全部免费a级毛片| 亚洲性线免费观看视频成熟| 和老外3p爽粗大免费视频| 日韩精品一区二区亚洲AV观看| 免费观看四虎精品成人| 亚洲人成电影网站免费| 亚洲精品国产手机| 日本高清不卡aⅴ免费网站| 久久久久久A亚洲欧洲AV冫| 视频免费1区二区三区| 全部免费a级毛片| 中文字幕亚洲免费无线观看日本 | 羞羞视频在线观看免费| 亚洲精品视频观看| 亚洲人成无码网站久久99热国产| 亚洲av成人无码网站…| 久久青青草原亚洲av无码app| 国产成人涩涩涩视频在线观看免费 | 免费又黄又硬又爽大片| 中文字幕免费视频| 9久热这里只有精品免费| 亚洲综合精品成人| 九九九精品成人免费视频| 亚洲午夜久久久精品电影院| 色se01短视频永久免费| 亚洲色大成网站www尤物| 亚洲AV无码专区在线播放中文| 国产高清不卡免费视频| 久久亚洲精品中文字幕无码| 亚洲三级在线免费观看| 亚洲七久久之综合七久久| 精品国产亚洲一区二区在线观看| 全免费一级午夜毛片| xxxxxx日本处大片免费看| 亚洲国产一区二区a毛片| 曰批视频免费30分钟成人| 久久成人免费大片|