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

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

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

    kxbin
    成功留給有準備的人
    posts - 10,  comments - 35,  trackbacks - 0

    本文使用的實例表結構與表的數據如下:

    scott.emp員工表結構如下:

    復制代碼
    Name     Type         Nullable Default Comments 
    -------- ------------ -------- ------- -------- 
    EMPNO    NUMBER(4)                       員工號       
    ENAME    
    VARCHAR2(10) Y                  員工姓名       
    JOB      
    VARCHAR2(9)  Y                  工作       
    MGR      
    NUMBER(4)    Y                  上級編號       
    HIREDATE DATE         Y                  雇傭日期       
    SAL      
    NUMBER(7,2)  Y                  薪金       
    COMM     
    NUMBER(7,2)  Y                  傭金       
    DEPTNO   
    NUMBER(2)    Y                  部門編號
    復制代碼


    scott.dept部門表

    Name   Type         Nullable Default Comments 
    ------ ------------ -------- ------- -------- 
    DEPTNO NUMBER(2)                         部門編號        
    DNAME  
    VARCHAR2(14) Y                    部門名稱     
    LOC    
    VARCHAR2(13) Y                    地點   


    提示:工資  薪金  傭金


    scott.emp表的現有數據如下:

     

    復制代碼
    SQL> select * from emp;
     
    EMPNO ENAME      JOB         MGR HIREDATE          SAL      COMM DEPTNO
    ----- ---------- --------- ----- ----------- --------- --------- ------
     7369 SMITH      CLERK      7902 1980-12-17     800.00               20
     
    7499 ALLEN      SALESMAN   7698 1981-2-20     1600.00    300.00     30
     
    7521 WARD       SALESMAN   7698 1981-2-22     1250.00    500.00     30
     
    7566 JONES      MANAGER    7839 1981-4-2      2975.00               20
     
    7654 MARTIN     SALESMAN   7698 1981-9-28     1250.00   1400.00     30
     
    7698 BLAKE      MANAGER    7839 1981-5-1      2850.00               30
     
    7782 CLARK      MANAGER    7839 1981-6-9      2450.00               10
     
    7788 SCOTT      ANALYST    7566 1987-4-19     4000.00               20
     
    7839 KING       PRESIDENT       1981-11-17    5000.00               10
     
    7844 TURNER     SALESMAN   7698 1981-9-8      1500.00      0.00     30
     
    7876 ADAMS      CLERK      7788 1987-5-23     1100.00               20
     
    7900 JAMES      CLERK      7698 1981-12-3      950.00               30
     
    7902 FORD       ANALYST    7566 1981-12-3     3000.00               20
     
    7934 MILLER     CLERK      7782 1982-1-23     1300.00               10
      
    102 EricHu     Developer  1455 2011-5-26 1   5500.00     14.00     10
      
    104 huyong     PM         1455 2011-5-26 1   5500.00     14.00     10
      
    105 WANGJING   Developer  1455 2011-5-26 1   5500.00     14.00     10
     
    17 rows selected
    復制代碼

     

    Scott.dept表的現有數據如下:

     

    復制代碼
    SQL> select * from dept;
     
    DEPTNO DNAME          LOC
    ------ -------------- -------------
        10 ACCOUNTING     NEW YORK
        
    20 RESEARCH       DALLAS
        
    30 SALES          CHICAGO
        
    40 OPERATIONS     BOSTON
        
    50 50abc          50def
        
    60 Developer      HaiKou
     
    6 rows selected
    復制代碼

     

     

    SQL完成以下問題列表:

     

    復制代碼
    1.列出至少有一個員工的所有部門。
    2.列出薪金比“SMITH”多的所有員工。
    3.列出所有員工的姓名及其直接上級的姓名。
    4.列出受雇日期早于其直接上級的所有員工。
    5.列出部門名稱和這些部門的員工信息,同時列出那些沒有員工的部門
    6.列出所有“CLERK”(辦事員)的姓名及其部門名稱。
    7.列出最低薪金大于1500的各種工作。
    8.列出在部門“SALES”(銷售部)工作的員工的姓名,假定不知道銷售部的部門編號。
    9.列出薪金高于公司平均薪金的所有員工。
    10.列出與“SCOTT”從事相同工作的所有員工。
    11.列出薪金等于部門30中員工的薪金的所有員工的姓名和薪金。
    12.列出薪金高于在部門30工作的所有員工的薪金的員工姓名和薪金。
    13.列出在每個部門工作的員工數量、平均工資和平均服務期限。
    14.列出所有員工的姓名、部門名稱和工資。
    15.列出所有部門的詳細信息和部門人數。
    16.列出各種工作的最低工資。
    17.列出各個部門的MANAGER(經理)的最低薪金。
    18.列出所有員工的年工資,按年薪從低到高排序。
    復制代碼

     

    各答案如下,歡迎大家給出不出的解答方式。

     

     

    復制代碼
    --------1.列出至少有一個員工的所有部門。---------
    SQL> select dname from dept where deptno in(select deptno from emp); 
    DNAME
    --------------
    RESEARCH
    SALES
    ACCOUNTING
    --------或--------
    SQL> select dname from dept where deptno in(select deptno from emp group by deptno having count(deptno) >=1); 
    DNAME
    --------------
    ACCOUNTING
    RESEARCH
    SALES

    --------2.列出薪金比“SMITH”多的所有員工。----------
    SQL> select * from emp where sal > (select sal from emp where ename = 'SMITH');
     
    EMPNO ENAME      JOB         MGR HIREDATE          SAL      COMM DEPTNO
    ----- ---------- --------- ----- ----------- --------- --------- ------
     7499 ALLEN      SALESMAN   7698 1981-2-20     1600.00    300.00     30
     
    7521 WARD       SALESMAN   7698 1981-2-22     1250.00    500.00     30
     
    7566 JONES      MANAGER    7839 1981-4-2      2975.00               20
     
    7654 MARTIN     SALESMAN   7698 1981-9-28     1250.00   1400.00     30
     
    7698 BLAKE      MANAGER    7839 1981-5-1      2850.00               30
     
    7782 CLARK      MANAGER    7839 1981-6-9      2450.00               10
     
    7788 SCOTT      ANALYST    7566 1987-4-19     4000.00               20
     
    7839 KING       PRESIDENT       1981-11-17    5000.00               10
     
    7844 TURNER     SALESMAN   7698 1981-9-8      1500.00      0.00     30
     
    7876 ADAMS      CLERK      7788 1987-5-23     1100.00               20
     
    7900 JAMES      CLERK      7698 1981-12-3      950.00               30
     
    7902 FORD       ANALYST    7566 1981-12-3     3000.00               20
     
    7934 MILLER     CLERK      7782 1982-1-23     1300.00               10
      
    102 EricHu     Developer  1455 2011-5-26 1   5500.00     14.00     10
      
    104 huyong     PM         1455 2011-5-26 1   5500.00     14.00     10
      
    105 WANGJING   Developer  1455 2011-5-26 1   5500.00     14.00     10
     
    16 rows selected

    --------3.列出所有員工的姓名及其直接上級的姓名。----------
    SQL> select a.ename,(select ename from emp b where b.empno=a.mgr) as boss_name from emp a; 
    ENAME      BOSS_NAME
    ---------- ----------
    SMITH      FORD
    ALLEN      BLAKE
    WARD       BLAKE
    JONES      KING
    MARTIN     BLAKE
    BLAKE      KING
    CLARK      KING
    SCOTT      JONES
    KING       
    TURNER     BLAKE
    ADAMS      SCOTT
    JAMES      BLAKE
    FORD       JONES
    MILLER     CLARK
    EricHu     
    huyong     
    WANGJING    
    17 rows selected

    --------4.列出受雇日期早于其直接上級的所有員工。----------
    SQL> select a.ename from emp a where a.hiredate<(select hiredate from emp b where b.empno=a.mgr); 
    ENAME
    ----------
    SMITH
    ALLEN
    WARD
    JONES
    BLAKE
    CLARK 
    6 rows selected

    --------5.列出部門名稱和這些部門的員工信息,同時列出那些沒有員工的部門----------
    SQL> select a.dname,b.empno,b.ename,b.job,b.mgr,b.hiredate,b.sal,b.deptno
      
    2  from dept a left join emp b on a.deptno=b.deptno;
     
    DNAME          EMPNO ENAME      JOB         MGR HIREDATE          SAL DEPTNO
    -------------- ----- ---------- --------- ----- ----------- --------- ------
    RESEARCH        7369 SMITH      CLERK      7902 1980-12-17     800.00     20
    SALES           
    7499 ALLEN      SALESMAN   7698 1981-2-20     1600.00     30
    SALES           
    7521 WARD       SALESMAN   7698 1981-2-22     1250.00     30
    RESEARCH        
    7566 JONES      MANAGER    7839 1981-4-2      2975.00     20
    SALES           
    7654 MARTIN     SALESMAN   7698 1981-9-28     1250.00     30
    SALES           
    7698 BLAKE      MANAGER    7839 1981-5-1      2850.00     30
    ACCOUNTING      
    7782 CLARK      MANAGER    7839 1981-6-9      2450.00     10
    RESEARCH        
    7788 SCOTT      ANALYST    7566 1987-4-19     4000.00     20
    ACCOUNTING      
    7839 KING       PRESIDENT       1981-11-17    5000.00     10
    SALES           
    7844 TURNER     SALESMAN   7698 1981-9-8      1500.00     30
    RESEARCH        
    7876 ADAMS      CLERK      7788 1987-5-23     1100.00     20
    SALES           
    7900 JAMES      CLERK      7698 1981-12-3      950.00     30
    RESEARCH        
    7902 FORD       ANALYST    7566 1981-12-3     3000.00     20
    ACCOUNTING      
    7934 MILLER     CLERK      7782 1982-1-23     1300.00     10
    ACCOUNTING       
    102 EricHu     Developer  1455 2011-5-26 1   5500.00     10
    ACCOUNTING       
    104 huyong     PM         1455 2011-5-26 1   5500.00     10
    ACCOUNTING       
    105 WANGJING   Developer  1455 2011-5-26 1   5500.00     10
    50abc                                                                 
    OPERATIONS                                                            
    Developer                                                          
     
    20 rows selected

    --------6.列出所有“CLERK”(辦事員)的姓名及其部門名稱。----------
    SQL> select a.ename,b.dname from emp a join dept b on a.deptno=b.deptno and a.job='CLERK'
    ENAME      DNAME
    ---------- --------------
    SMITH      RESEARCH
    ADAMS      RESEARCH
    JAMES      SALES
    MILLER     ACCOUNTING

    --------7.列出最低薪金大于1500的各種工作。----------
    SQL> select distinct job as HighSalJob from emp group by job having min(sal)>1500
    HIGHSALJOB
    ----------
    ANALYST
    Developer
    MANAGER
    PM
    PRESIDENT

    --------8.列出在部門“SALES”(銷售部)工作的員工的姓名,假定不知道銷售部的部門編號。----------
    SQL> select ename from emp where deptno=(select deptno from dept where dname='SALES'); 
    ENAME
    ----------
    ALLEN
    WARD
    MARTIN
    BLAKE
    TURNER
    JAMES 
    6 rows selected

    --------9.列出薪金高于公司平均薪金的所有員工。----------
    SQL> select ename from emp where sal>(select avg(sal) from emp); 
    ENAME
    ----------
    JONES
    BLAKE
    SCOTT
    KING
    FORD
    EricHu
    huyong
    WANGJING 
    8 rows selected

    --------10.列出與“SCOTT”從事相同工作的所有員工。--------
    SQL> select ename from emp where job=(select job from emp where ename='SCOTT');
     ENAME
    ----------
    SCOTT
    FORD

    --------11.列出薪金等于部門30中員工的薪金的所有員工的姓名和薪金。---------
    SQL> select a.ename,a.sal from emp a where a.sal in (select b.sal
      
    2  from emp b where b.deptno=30and a.deptno<>30
    ENAME            SAL
    ---------- ---------

    --------12.列出薪金高于在部門30工作的所有員工的薪金的員工姓名和薪金。---------
    SQL> select ename,sal from emp where sal>(select max(sal) from emp where deptno=30); 
    ENAME            SAL
    ---------- ---------
    JONES        2975.00
    SCOTT        
    4000.00
    KING         
    5000.00
    FORD         
    3000.00
    EricHu       
    5500.00
    huyong       
    5500.00
    WANGJING     
    5500.00 
    7 rows selected

    --------13.列出在每個部門工作的員工數量、平均工資和平均服務期限。---------
    SQL> select (select b.dname from dept b where a.deptno=b.deptno) as deptname ,count(deptno) as deptcount,avg(sal) as deptavgsal
      
    2  from emp a group by deptno; 
    DEPTNAME        DEPTCOUNT DEPTAVGSAL
    -------------- ---------- ----------
    ACCOUNTING              6 4208.33333
    RESEARCH                
    5       2375
    SALES                   
    6 1566.66666

    --------14.列出所有員工的姓名、部門名稱和工資。---------
    SQL> select a.ename,(select b.dname from dept b where b.deptno=a.deptno) as deptname,sal from emp a; 
     
    ENAME      DEPTNAME             SAL
    ---------- -------------- ---------
    SMITH      RESEARCH          800.00
    ALLEN      SALES            
    1600.00
    WARD       SALES            
    1250.00
    JONES      RESEARCH         
    2975.00
    MARTIN     SALES            
    1250.00
    BLAKE      SALES            
    2850.00
    CLARK      ACCOUNTING       
    2450.00
    SCOTT      RESEARCH         
    4000.00
    KING       ACCOUNTING       
    5000.00
    TURNER     SALES            
    1500.00
    ADAMS      RESEARCH         
    1100.00
    JAMES      SALES             
    950.00
    FORD       RESEARCH         
    3000.00
    MILLER     ACCOUNTING       
    1300.00
    EricHu     ACCOUNTING       
    5500.00
    huyong     ACCOUNTING       
    5500.00
    WANGJING   ACCOUNTING       
    5500.00
     
    17 rows selected

    --------15.列出所有部門的詳細信息和部門人數。---------
    SQL> select a.deptno,a.dname,a.loc,(select count(deptno) from emp b where b.deptno=a.deptno group by b.deptno) as deptcount from dept a; 
    DEPTNO DNAME          LOC            DEPTCOUNT
    ------ -------------- ------------- ----------
        10 ACCOUNTING     NEW YORK               6
        
    20 RESEARCH       DALLAS                 5
        
    30 SALES          CHICAGO                6
        
    40 OPERATIONS     BOSTON        
        
    50 50abc          50def         
        
    60 Developer      HaiKou     
     
    6 rows selected

    --------16.列出各種工作的最低工資。---------
    SQL> select job,avg(sal) from emp group by job;
     
    JOB         
    AVG(SAL)
    --------- ----------
    ANALYST         3500
    CLERK         
    1037.5
    Developer       
    5500
    MANAGER   
    2758.33333
    PM              
    5500
    PRESIDENT       
    5000
    SALESMAN        
    1400
     
    7 rows selected

    --------17.列出各個部門的MANAGER(經理)的最低薪金。--------
    SQL> select deptno,min(sal) from emp where job='MANAGER' group by deptno;
     
    DEPTNO   
    MIN(SAL)
    ------ ----------
        10       2450
        
    20       2975
    30       2850

    --------18.列出所有員工的年工資,按年薪從低到高排序。---------
    SQL> select ename,(sal+nvl(comm,0))*12 as salpersal from emp order by salpersal;
     
    ENAME       SALPERSAL
    ---------- ----------
    SMITH            9600
    JAMES           
    11400
    ADAMS           
    13200
    MILLER          
    15600
    TURNER          
    18000
    WARD            
    21000
    ALLEN           
    22800
    CLARK           
    29400
    MARTIN          
    31800
    BLAKE           
    34200
    JONES           
    35700
    FORD            
    36000
    SCOTT           
    48000
    KING            
    60000
    EricHu          
    66168
    huyong          
    66168
    WANGJING        
    66168
     
    17 rows selected
    復制代碼
    posted on 2012-09-18 15:01 kxbin 閱讀(303) 評論(0)  編輯  收藏 所屬分類: ORACLE轉發
    你恨一個人是因為你愛他;你喜歡一個人,是因為他身上有你沒有的;你討厭一個人是因為他身上有你有的東西;你經常在別人面前批評某人,其實潛意識中是想接近他。

    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(5)

    隨筆檔案

    文章分類

    文章檔案

    相冊

    收藏夾

    J2EE

    java技術網站

    Linux

    平時常去的網站

    數據庫

    電影網站

    網站設計

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 日韩中文无码有码免费视频| 亚洲熟妇少妇任你躁在线观看| 日韩精品视频免费观看| 少妇太爽了在线观看免费视频| 午夜亚洲福利在线老司机| 在线观看H网址免费入口| 国产精品亚洲综合五月天| 国产男女猛烈无遮挡免费视频| 最近中文字幕mv免费高清视频8| 久久www免费人成精品香蕉| 911精品国产亚洲日本美国韩国| 成年女人毛片免费播放人| 99精品视频免费在线观看| 国产线视频精品免费观看视频| 美女无遮挡免费视频网站| 亚洲乱码av中文一区二区| 亚洲一区二区三区AV无码| 免费又黄又硬又爽大片| 免费无码一区二区三区| 中国一级特黄的片子免费| 黄色视屏在线免费播放| 黄网站在线播放视频免费观看| 久久亚洲精品无码av| 久久丫精品国产亚洲av| 国产自产拍精品视频免费看| 免费国产黄线在线观看| 国产午夜精品理论片免费观看| 一本一道dvd在线观看免费视频| 亚洲国产亚洲片在线观看播放| 亚洲日韩区在线电影| 亚洲AV无码久久精品色欲| 国产成人综合久久精品免费| 成年丰满熟妇午夜免费视频| 国产三级在线观看免费| 毛片a级三毛片免费播放| 午夜小视频免费观看| 欧洲精品99毛片免费高清观看 | 夫妻免费无码V看片| 午夜老司机免费视频| 又大又粗又爽a级毛片免费看| 四虎永久在线精品视频免费观看|