<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

    本文使用的實例表結構與表的數(shù)據(jù)如下:

    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表的現(xiàn)有數(shù)據(jù)如下:

     

    復制代碼
    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表的現(xiàn)有數(shù)據(jù)如下:

     

    復制代碼
    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.列出在每個部門工作的員工數(shù)量、平均工資和平均服務期限。
    14.列出所有員工的姓名、部門名稱和工資。
    15.列出所有部門的詳細信息和部門人數(shù)。
    16.列出各種工作的最低工資。
    17.列出各個部門的MANAGER(經(jīng)理)的最低薪金。
    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.列出在每個部門工作的員工數(shù)量、平均工資和平均服務期限。---------
    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.列出所有部門的詳細信息和部門人數(shù)。---------
    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(經(jīng)理)的最低薪金。--------
    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轉(zhuǎn)發(fā)
    你恨一個人是因為你愛他;你喜歡一個人,是因為他身上有你沒有的;你討厭一個人是因為他身上有你有的東西;你經(jīng)常在別人面前批評某人,其實潛意識中是想接近他。

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

    常用鏈接

    留言簿(5)

    隨筆檔案

    文章分類

    文章檔案

    相冊

    收藏夾

    J2EE

    java技術網(wǎng)站

    Linux

    平時常去的網(wǎng)站

    數(shù)據(jù)庫

    電影網(wǎng)站

    網(wǎng)站設計

    搜索

    •  

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 久久久久高潮毛片免费全部播放| 一级毛片免费观看不卡视频| 日韩插啊免费视频在线观看| 免费观看a级毛片| 九月丁香婷婷亚洲综合色| 7777久久亚洲中文字幕| 久久久久久久久久免免费精品 | 亚洲а∨天堂久久精品| 亚洲视频2020| 免费看黄网站在线看| 免费国产黄网站在线观看可以下载 | 日本h在线精品免费观看| 成人亚洲综合天堂| 亚洲另类视频在线观看| 国产日韩精品无码区免费专区国产 | 亚洲AV无码一区二区三区牲色| 日韩精品在线免费观看| 国产免费观看a大片的网站| 亚洲视频一区网站| a毛片成人免费全部播放| 成年女人色毛片免费看| 亚洲AV日韩AV永久无码免下载 | 亚洲国产精品13p| 亚洲国产熟亚洲女视频| 国产精品视频白浆免费视频| 免费人成在线观看播放国产| 亚洲一级免费毛片| 免费人成网站在线观看不卡| 免费在线观看你懂的| 亚洲jizzjizz在线播放久| 免费在线观看一级片| 亚洲男人av香蕉爽爽爽爽| 亚洲人成未满十八禁网站| 最近2019中文字幕免费大全5| 在线日韩日本国产亚洲| 亚洲AV永久无码精品网站在线观看| 2019中文字幕免费电影在线播放 | 亚洲最大黄色网站| 在线涩涩免费观看国产精品| 亚洲国产成人VA在线观看| 久久久久se色偷偷亚洲精品av|