zoukankan      html  css  js  c++  java
  • SQL多表查询

    [sql] view plain copy
     
    1. --1,列出至少有一个雇员的所有部门  
    2. SELECT E.DEPTNO, COUNT(E.EMPNO)  
    3. FROM EMP E  
    4. WHERE E.EMPNO IS NOT NULL   
    5. GROUP BY E.DEPTNO  
    6. HAVING COUNT(E.EMPNO) > 0;  
    7.   
    8. --2,列出薪金比‘SMITH’多的所有雇员  
    9. SELECT *   
    10. FROM EMP E  
    11. WHERE E.SAL >   
    12. (  
    13.       SELECT P.SAL  
    14.       FROM EMP P  
    15.       WHERE P.ENAME = 'SMITH'  
    16. );  
    17.   
    18. --3,列出所有雇员的姓名及其上级的姓名  
    19. SELECT E.ENAME , P.ENAME  
    20. FROM EMP E, EMP P  
    21. WHERE E.MGR = P.EMPNO(+);  
    22.   
    23. --4,列出入职日期早于其直接上级的所有雇员  
    24. SELECT E.ENAME, P.ENAME  
    25. FROM EMP E, EMP P  
    26. WHERE E.MGR = P.EMPNO(+)  
    27. AND E.HIREDATE < P.HIREDATE;  
    28.   
    29. --5,列出部门名称和这些部门的雇员,同时列出那些  
    30. --没有雇员的部门  
    31. SELECT E.ENAME, D.DNAME   
    32. FROM EMP E, DEPT D  
    33. WHERE E.DEPTNO(+) = D.DEPTNO;  
    34.   
    35. --6,列出所有‘CLERK’(办事员)的姓名及其部门名称  
    36. SELECT E.ENAME, D.DNAME  
    37. FROM EMP E, DEPT D  
    38. WHERE E.DEPTNO = D.DEPTNO   
    39. AND E.JOB = 'CLERK';  
    40.   
    41. --7,列出各种岗位的最低薪金(?),并显示最低薪金  
    42. --大于1500所有工作岗位及其最低薪资  
    43. SELECT MIN(E.SAL), E.JOB  
    44. FROM EMP E  
    45. GROUP BY E.JOB   
    46. HAVING MIN(E.SAL) > 1500;  
    47.   
    48. --8,列出从事'SALES'(销售)工作的雇员的姓名,  
    49. --假定不知道销售部的部门编号。  
    50. SELECT E.ENAME,D.DEPTNO  
    51. FROM EMP E, DEPT D  
    52. WHERE E.DEPTNO = D.DEPTNO  
    53. AND E.JOB = 'SALESMAN';  
    54.   
    55. --9,列出薪金高于公司平均的所有雇员  
    56. SELECT E.ENAME  
    57. FROM EMP E  
    58. WHERE E.SAL >   
    59. (  
    60.       SELECT AVG(P.SAL)  
    61.       FROM EMP P  
    62. );  
    63.   
    64. --10,列出与'SCOTT'从事相同工作的所有雇员  
    65. SELECT E.NAME   
    66. FROM EMP E  
    67. WHERE E.ENAME != 'SCOTT'  
    68. AND E.JOB =   
    69. (  
    70.     SELECT P.JOB  
    71.     FROM EMP P  
    72.     WHERE P.ENAME = 'SCOTT'  
    73. );  
    74.   
    75. --11,列出薪金等于在部门30工作的所有雇员的  
    76. --薪金的雇员的姓名和薪金。  
    77. SELECT E.ENAME, E.SAL  
    78. FROM EMP E  
    79. WHERE E.SAL = ANY  
    80. (  
    81.     SELECT P.SAL   
    82.     FROM EMP P  
    83.     WHERE P.DEPTNO = 30   
    84. );  
    85.   
    86. --12,列出薪金高于在部门30工作的所有雇员的薪金  
    87. --的雇员的姓名和薪金  
    88. SELECT E.ENAME, E.SAL  
    89. FROM EMP E  
    90. WHERE E.SAL > ALL  
    91. (  
    92.       SELECT P.SAL   
    93.       FROM EMP P  
    94.       WHERE P.DEPTNO = 30  
    95. );  
    96.   
    97. --13,列出每个部门工作的雇员的数量以及其它信息  
    98. SELECT D.DEPTNO, D.DNAME, D.LOC, COUNT(E.EMPNO)  
    99. FROM EMP E, DEPT D  
    100. WHERE E.DEPTNO(+) = D.DEPTNO   
    101. GROUP BY D.DEPTNO, D.DNAME, D.LOC;  
    102.   
    103. --14,列出所有雇员的雇员名称、部门名称和薪金  
    104. SELECT E.ENAME, D.DNAME, E.SAL  
    105. FROM EMP E, DEPT D  
    106. WHERE E.DEPTNO = D.DEPTNO(+);  
    107.   
    108. --15,列出从事同一种工作但属于不同部门  
    109. --雇员的不同组合  
    110. SELECT DISTINCT E.EMPNO, E.ENAME, E.JOB, E.DEPTNO  
    111. FROM EMP E,  
    112. (  
    113.      SELECT P.JOB, P.DEPTNO  
    114.      FROM EMP P  
    115.      GROUP BY P.JOB, P.DEPTNO  
    116. ) M  
    117. WHERE E.DEPTNO != M.DEPTNO  
    118. AND E.JOB = M.JOB;  
    119.   
    120. --16,列出分配有雇员数量的所有部门的详细信息  
    121. --即使是分配有0个雇员  
    122. SELECT COUNT(E.EMPNO), D.DEPTNO, D.DNAME, D.LOC  
    123. FROM EMP E, DEPT D  
    124. WHERE E.DEPTNO(+) = D.DEPTNO  
    125. GROUP BY D.DEPTNO, D.DNAME, D.LOC;  
    126.   
    127. --17,列出各种类别工作的最低工资  
    128. SELECT MIN(E.SAL)  
    129. FROM EMP E  
    130. GROUP BY E.JOB;  
    131.   
    132. --18,列出各种部门的MANAGER(经理)的最低薪金  
    133. SELECT E.DEPTNO, MIN(E.SAL)  
    134. FROM EMP E  
    135. WHERE E.JOB = 'MANAGER'  
    136. GROUP BY E.DEPTNO;  
    137.   
    138. --19,列出按计算的字段排序的所有雇员的年薪  
    139.   
    140. SELECT E.ENAME,  
    141. (E.SAL + NVL(E.COMM,0))*12 SALBYYEAR  
    142. FROM EMP E  
    143. ORDER BY SALBYYEAR;  
  • 相关阅读:
    使用 WebSphere Adapter for SAP Software V7.5 配置 SAP 系统和客户端之间的安全网络通信 (SNC)
    在 ubuntu 12.04 上安装 redmine
    配置nat稳定网络防病毒
    利用 Replication Handler 备份索引
    .NET 4.5对Base Class Library做出改善
    redmine 和 gitolite 的整合
    IBM Power7 服务器 Hypervisor 内存使用情况研究
    Word域代码的显示
    转载:深入分析MFC文档视图
    VIM常用指令
  • 原文地址:https://www.cnblogs.com/guanghe/p/6054101.html
Copyright © 2011-2022 走看看