<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 斷點 閱讀(536) 評論(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)
    )

     

    主站蜘蛛池模板: 最近免费中文字幕中文高清| 久久国产免费观看精品3| 天天摸天天碰成人免费视频| 亚洲国产日产无码精品| 最近中文字幕无免费| 亚洲制服丝袜精品久久| 毛片免费视频在线观看| 亚洲综合色丁香婷婷六月图片 | va亚洲va日韩不卡在线观看| 国产精品亚洲专区一区| yy6080亚洲一级理论| 日韩在线视频播放免费视频完整版| 免费国产成人午夜电影| 国产精品免费久久久久电影网| 最近免费中文字幕大全免费| 亚洲国产日韩在线人成下载| 蜜臀91精品国产免费观看| 日韩亚洲人成网站| 永久亚洲成a人片777777| 一级毛片不卡片免费观看| 亚洲一卡2卡3卡4卡国产网站 | 亚洲aⅴ无码专区在线观看| 精品国产免费一区二区| 羞羞漫画小舞被黄漫免费| 亚洲午夜日韩高清一区| 国产成人AV片无码免费| 亚洲伊人久久大香线蕉| 国产美女无遮挡免费视频| 中文字幕的电影免费网站| 国产精品成人四虎免费视频| 日韩在线视频免费| 亚洲午夜久久影院| 四虎影视永久免费观看| 拍拍拍无挡视频免费观看1000| 亚洲国产福利精品一区二区| 免费人成年激情视频在线观看| 国产精品白浆在线观看免费| 亚洲色成人网站WWW永久四虎 | 免费三级毛片电影片| 日本精品久久久久久久久免费| 亚洲2022国产成人精品无码区|