日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

2.oracle分页,找到员工表中薪水大于本部门平均薪水的员工

發布時間:2024/9/27 编程问答 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 2.oracle分页,找到员工表中薪水大于本部门平均薪水的员工 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

  • ROWNUM的知識點

    A ROWNUM按照oracle的默認機制生成。

    B rownum只能使用<= ?<號,不能使用>? >=

  • rownum的實現機制

    rownum表示,返回的結果集的行號(是一個屬性,固化到一行之中,不會因為你排序,而發生變化)。沒有第一行,就沒有第二行;沒有第二行就沒有第三行。

  • Oracle Top-N

  • select rownum,empno,ename,sal

    from (select empno,ename,sal

    ???? from emp

    ???? order by sal desc)

    where rownum <= 3;

    4 5=<x<=8之間的數據(分頁)

    select r,empno,ename,sal

    from

    ??? (

    ????????? select rownum r,empno,ename,sal

    ????????? from (

    ??????????????? select empno,ename,sal

    ??????????????? from emp

    ??????????????? order by sal desc

    ?????????????? )

    ????????? where rownum <=8

    ???? )

    where r >= 5;

    總結:內存排序,外層選

    Oracle分頁思想總結:

    (內層排序,外層選,需要三層查詢)

    內:排序

    中:使用rownum選擇前n條;并給rownum指定一個別名,以供最外層過濾使用。

    外:去掉前m條結果。

  • 找到員工表中薪水大于本部門平均薪水的員工

    員工表?? 本部門平均薪水

    思路1:查員工的薪水?? 本部門平均薪水

    ???? ?本部門關系

    ?

    要去本部門的薪水,需要求部門的薪水,要對部門分組è分組

  • ???

    思路2:查找員工表 部門薪水表? =====》多表查詢

    思路3:等值連接條件

    方法1

    select e.empno,e.ename,e.sal,d.avgsal

    ?from emp e,

    ?????????? (select deptno,avg(sal) avgsal

    ??????????? from emp

    ??????????? group by deptno) d

    ?where e.deptno=d.deptno and e.sal > d.avgsal;

    方法2

    相關子查詢:主查詢的參數,讓子查詢用,一般是通過別名技術。

    一般子查詢:子查詢的結果,被主查詢使用

    select empno,ename,sal,(select avg(sal) from emp where deptno = e.deptno) avgsal

    from emp e

    where sal > (

    ??????????? select avg(sal)

    ??????????? from emp

    ??????????? where deptno = e.deptno

    );

    ?

    ?

    總結

    以上是生活随笔為你收集整理的2.oracle分页,找到员工表中薪水大于本部门平均薪水的员工的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。