龙盟编程博客 | 无障碍搜索 | 云盘搜索神器
快速搜索
主页 > 数据库类 > Oracle 技术 >

Oracle SQL:经典查询练手第一篇(1)(2)

时间:2011-04-12 23:18来源:未知 作者:admin 点击:
分享到:
各答案如下,欢迎大家给出不出的解答方式。 --------1.列出至少有一个员工的所有部门。--------- SQL select dname from dept where deptno in ( select deptno from emp); DN

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

  1. --------1.列出至少有一个员工的所有部门。---------  
  2. SQL> select dname from dept where deptno in(select deptno from emp);   
  3. DNAME  
  4. --------------  
  5. RESEARCH  
  6. SALES  
  7. ACCOUNTING  
  8. --------或--------  
  9. SQL> select dname from dept where deptno in(select deptno from emp group by deptno having count(deptno) >=1);   
  10. DNAME  
  11. --------------  
  12. ACCOUNTING  
  13. RESEARCH  
  14. SALES  
  1. --------2.列出薪金比“SMITH”多的所有员工。----------  
  2. SQL> select * from emp where sal > (select sal from emp where ename = 'SMITH');  
  3.    
  4. EMPNO ENAME      JOB         MGR HIREDATE          SAL      COMM DEPTNO  
  5. ----- ---------- --------- ----- ----------- --------- --------- ------  
  6.  7499 ALLEN      SALESMAN   7698 1981-2-20     1600.00    300.00     30  
  7.  7521 WARD       SALESMAN   7698 1981-2-22     1250.00    500.00     30  
  8.  7566 JONES      MANAGER    7839 1981-4-2      2975.00               20  
  9.  7654 MARTIN     SALESMAN   7698 1981-9-28     1250.00   1400.00     30  
  10.  7698 BLAKE      MANAGER    7839 1981-5-1      2850.00               30  
  11.  7782 CLARK      MANAGER    7839 1981-6-9      2450.00               10  
  12.  7788 SCOTT      ANALYST    7566 1987-4-19     4000.00               20  
  13.  7839 KING       PRESIDENT       1981-11-17    5000.00               10  
  14.  7844 TURNER     SALESMAN   7698 1981-9-8      1500.00      0.00     30  
  15.  7876 ADAMS      CLERK      7788 1987-5-23     1100.00               20  
  16.  7900 JAMES      CLERK      7698 1981-12-3      950.00               30  
  17.  7902 FORD       ANALYST    7566 1981-12-3     3000.00               20  
  18.  7934 MILLER     CLERK      7782 1982-1-23     1300.00               10  
  19.   102 EricHu     Developer  1455 2011-5-26 1   5500.00     14.00     10  
  20.   104 huyong     PM         1455 2011-5-26 1   5500.00     14.00     10  
  21.   105 WANGJING   Developer  1455 2011-5-26 1   5500.00     14.00     10  
  22.  16 rows selected 
  1. --------3.列出所有员工的姓名及其直接上级的姓名。----------  
  2. SQL> select a.ename,(select ename from emp b where b.empno=a.mgr) as boss_name from emp a;   
  3. ENAME      BOSS_NAME  
  4. ---------- ----------  
  5. SMITH      FORD  
  6. ALLEN      BLAKE  
  7. WARD       BLAKE  
  8. JONES      KING  
  9. MARTIN     BLAKE  
  10. BLAKE      KING  
  11. CLARK      KING  
  12. SCOTT      JONES  
  13. KING         
  14. TURNER     BLAKE  
  15. ADAMS      SCOTT  
  16. JAMES      BLAKE  
  17. FORD       JONES  
  18. MILLER     CLARK  
  19. EricHu       
  20. huyong       
  21. WANGJING      
  22. 17 rows selected 
  1. --------4.列出受雇日期早于其直接上级的所有员工。----------  
  2. SQL> select a.ename from emp a where a.hiredate<(select hiredate from emp b where b.empno=a.mgr);   
  3. ENAME  
  4. ----------  
  5. SMITH  
  6. ALLEN  
  7. WARD  
  8. JONES  
  9. BLAKE  
  10. CLARK   
  11. rows selected  
  12.  
  1. --------5.列出部门名称和这些部门的员工信息,同时列出那些没有员工的部门----------  
  2. SQL> select a.dname,b.empno,b.ename,b.job,b.mgr,b.hiredate,b.sal,b.deptno  
  3.   2  from dept a left join emp b on a.deptno=b.deptno;  
  4.    
  5. DNAME          EMPNO ENAME      JOB         MGR HIREDATE          SAL DEPTNO  
  6. -------------- ----- ---------- --------- ----- ----------- --------- ------  
  7. RESEARCH        7369 SMITH      CLERK      7902 1980-12-17     800.00     20  
  8. SALES           7499 ALLEN      SALESMAN   7698 1981-2-20     1600.00     30  
  9. SALES           7521 WARD       SALESMAN   7698 1981-2-22     1250.00     30  
  10. RESEARCH        7566 JONES      MANAGER    7839 1981-4-2      2975.00     20  
  11. SALES           7654 MARTIN     SALESMAN   7698 1981-9-28     1250.00     30  
  12. SALES           7698 BLAKE      MANAGER    7839 1981-5-1      2850.00     30  
  13. ACCOUNTING      7782 CLARK      MANAGER    7839 1981-6-9      2450.00     10  
  14. RESEARCH        7788 SCOTT      ANALYST    7566 1987-4-19     4000.00     20  
  15. ACCOUNTING      7839 KING       PRESIDENT       1981-11-17    5000.00     10  
  16. SALES           7844 TURNER     SALESMAN   7698 1981-9-8      1500.00     30  
  17. RESEARCH        7876 ADAMS      CLERK      7788 1987-5-23     1100.00     20  
  18. SALES           7900 JAMES      CLERK      7698 1981-12-3      950.00     30  
  19. RESEARCH        7902 FORD       ANALYST    7566 1981-12-3     3000.00     20  
  20. ACCOUNTING      7934 MILLER     CLERK      7782 1982-1-23     1300.00     10  
  21. ACCOUNTING       102 EricHu     Developer  1455 2011-5-26 1   5500.00     10  
  22. ACCOUNTING       104 huyong     PM         1455 2011-5-26 1   5500.00     10  
  23. ACCOUNTING       105 WANGJING   Developer  1455 2011-5-26 1   5500.00     10  
  24. 50abc                                                                   
  25. OPERATIONS                                                              
  26. Developer                                                            
  27.    
  28. 20 rows selected  

精彩图集

赞助商链接