Oracle SQL:经典查询练手第一篇

发表于:2011-6-27 10:33

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:胡勇    来源:51Testing软件测试网采编

  1. --------14.列出所有员工的姓名、部门名称和工资。---------  
  2. SQL> select a.ename,(select b.dname from dept b where b.deptno=a.deptno) as deptname,sal from emp a;   
  3.    
  4. ENAME      DEPTNAME             SAL  
  5. ---------- -------------- ---------  
  6. SMITH      RESEARCH          800.00  
  7. ALLEN      SALES            1600.00  
  8. WARD       SALES            1250.00  
  9. JONES      RESEARCH         2975.00  
  10. MARTIN     SALES            1250.00  
  11. BLAKE      SALES            2850.00  
  12. CLARK      ACCOUNTING       2450.00  
  13. SCOTT      RESEARCH         4000.00  
  14. KING       ACCOUNTING       5000.00  
  15. TURNER     SALES            1500.00  
  16. ADAMS      RESEARCH         1100.00  
  17. JAMES      SALES             950.00  
  18. FORD       RESEARCH         3000.00  
  19. MILLER     ACCOUNTING       1300.00  
  20. EricHu     ACCOUNTING       5500.00  
  21. huyong     ACCOUNTING       5500.00  
  22. WANGJING   ACCOUNTING       5500.00  
  23.    
  24. 17 rows selected

  1. --------15.列出所有部门的详细信息和部门人数。---------  
  2. 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;   
  3. DEPTNO DNAME          LOC            DEPTCOUNT  
  4. ------ -------------- ------------- ----------  
  5.     10 ACCOUNTING     NEW YORK               6  
  6.     20 RESEARCH       DALLAS                 5  
  7.     30 SALES          CHICAGO                6  
  8.     40 OPERATIONS     BOSTON          
  9.     50 50abc          50def           
  10.     60 Developer      HaiKou       
  11.    
  12. rows selected

  1. --------16.列出各种工作的最低工资。---------  
  2. SQL> select job,avg(sal) from emp group by job;  
  3.    
  4. JOB         AVG(SAL)  
  5. --------- ----------  
  6. ANALYST         3500  
  7. CLERK         1037.5  
  8. Developer       5500  
  9. MANAGER   2758.33333  
  10. PM              5500  
  11. PRESIDENT       5000  
  12. SALESMAN        1400  
  13.    
  14. rows selected

  1. --------17.列出各个部门的MANAGER(经理)的最低薪金。--------  
  2. SQL> select deptno,min(sal) from emp where job='MANAGER' group by deptno;  
  3.    
  4. DEPTNO   MIN(SAL)  
  5. ------ ----------  
  6.     10       2450  
  7.     20       2975  
  8. 30       2850

  1. --------18.列出所有员工的年工资,按年薪从低到高排序。---------  
  2. SQL> select ename,(sal+nvl(comm,0))*12 as salpersal from emp order by salpersal;  
  3.    
  4. ENAME       SALPERSAL  
  5. ---------- ----------  
  6. SMITH            9600  
  7. JAMES           11400  
  8. ADAMS           13200  
  9. MILLER          15600  
  10. TURNER          18000  
  11. WARD            21000  
  12. ALLEN           22800  
  13. CLARK           29400  
  14. MARTIN          31800  
  15. BLAKE           34200  
  16. JONES           35700  
  17. FORD            36000  
  18. SCOTT           48000  
  19. KING            60000  
  20. EricHu          66168  
  21. huyong          66168  
  22. WANGJING        66168  
  23.    
  24. 17 rows selected

55/5<12345
《2023软件测试行业现状调查报告》独家发布~

精彩评论

  • yandan140522
    2011-7-07 10:33:47

    能把创建表和数据的语句贴出来就更方便大家练习了

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号