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

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

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

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

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

52/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号