Advertisement
Guest User

Untitled

a guest
Mar 31st, 2015
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. --exercitiul 11
  2. SELECT Manager_Id
  3. FROM Employees
  4. GROUP BY Manager_Id
  5. HAVING COUNT(employee_id)>=2;
  6.  
  7. --exercitiul 12
  8. SELECT DISTINCT Location_Id
  9. FROM departments;
  10.  
  11. --exercitiul 13
  12. SELECT d.Department_Id
  13. FROM Departments D
  14. WHERE NOT EXISTS(
  15. SELECT E.Employee_Id
  16. FROM Employees E
  17. WHERE E.Department_Id=D.Department_Id);
  18.  
  19. --exercitiul 14 sau cu join
  20. SELECT e.Employee_Id, e.Last_Name, e.Hire_Date, e.Salary, e.Manager_id
  21. FROM Employees E
  22. WHERE E.Manager_Id=(
  23. SELECT Ee.Employee_Id
  24. FROM Employees Ee
  25. WHERE LOWER(Ee.Last_Name) LIKE 'de haan');
  26.  
  27. SELECT E.Employee_Id, E.Last_Name, E.Hire_Date, E.Salary, E.Manager_Id
  28. FROM Employees E
  29. Join Employees Dehan
  30. ON(e.manager_id=dehan.employee_id AND LOWER(dehan.Last_Name) LIKE 'de haan');
  31.  
  32. --b
  33. SELECT E.Employee_Id, E.Last_Name, E.Hire_Date, E.Salary, E.Manager_Id, LEVEL
  34. FROM Employees E
  35. START WITH Employee_Id =(
  36. SELECT Ee.Employee_Id
  37. FROM Employees Ee
  38. WHERE LOWER(ee.last_name) LIKE 'de haan'
  39. )
  40. CONNECT BY Manager_Id = PRIOR Employee_Id;
  41.  
  42. --exercitiul 15
  43. SELECT E.Employee_Id, E.Last_Name, E.Hire_Date, E.Salary, E.Manager_Id, LEVEL
  44. FROM Employees E
  45. START WITH Employee_Id=114
  46. CONNECT BY manager_id = PRIOR employee_id;
  47.  
  48. --exercitiul 16
  49. SELECT E.Employee_Id, E.Manager_Id, E.Last_Name, LEVEL
  50. FROM Employees E
  51. WHERE LEVEL=3
  52. START WITH Employee_Id =(
  53. SELECT Ee.Employee_Id
  54. FROM Employees Ee
  55. WHERE LOWER(ee.last_name) LIKE 'de haan'
  56. )
  57. CONNECT BY Manager_Id = PRIOR Employee_Id;
  58.  
  59. --exercitiul 17
  60. SELECT E.Employee_Id, E.Manager_Id, LEVEL, E.Last_Name
  61. FROM Employees E
  62. --Start With Employee_Id=E.Employee_Id --pot sa scot linia
  63. CONNECT BY PRIOR Manager_Id =  Employee_Id;
  64.  
  65. --exercitiul 18
  66. SELECT E.Employee_Id, E.Manager_Id, LEVEL, E.Last_Name
  67. FROM Employees E
  68. WHERE e.salary>5000
  69. START WITH Employee_Id=(
  70. SELECT Ee.Employee_Id
  71. FROM Employees Ee
  72. WHERE Ee.Salary =(
  73. SELECT MAX(Eee.Salary)
  74. FROM employees eee
  75. )
  76. )
  77. CONNECT BY Manager_Id =  PRIOR Employee_Id;
  78.  
  79. --exercitiul 19
  80. WITH Depsal AS(
  81. SELECT SUM(Salary) suma, department_id idDep
  82. FROM Employees
  83. GROUP BY Department_Id),
  84. Avgsalariu AS(
  85. SELECT AVG(SUM(suma)) Avgsal
  86. FROM Depsal
  87. )
  88. SELECT department_name, suma
  89. FROM Departments
  90. Join Depsal
  91. USING(department_id)
  92. WHERE suma>(
  93. SELECT Avgsal
  94. FROM Avgsalariu);
  95.  
  96. --exercitiul 20
  97. WITH directi AS(
  98. SELECT Employee_Id, hire_date
  99. FROM Employees
  100. WHERE Manager_Id=(
  101. SELECT Employee_Id
  102. FROM Employees
  103. WHERE LOWER(first_name||last_name)='stevenking'
  104. )
  105. ),
  106. Direct_Vechi AS(
  107. SELECT Employee_Id
  108. FROM Directi
  109. WHERE Hire_Date=(
  110. SELECT MIN(Hire_Date)
  111. FROM directi
  112. )
  113. )
  114. SELECT Employee_Id, First_Name||' '||Last_Name, Job_Id, Hire_Date
  115. FROM Employees
  116. WHERE TO_CHAR(Hire_Date,'YYYY')!='1970'
  117. START WITH Employee_Id IN (
  118. SELECT Employee_Id
  119. FROM Direct_Vechi
  120. )
  121. CONNECT BY PRIOR Employee_Id = Manager_Id;
  122.  
  123. --exercitiul 21
  124. SELECT Last_Name
  125. FROM (
  126. SELECT * FROM employees ORDER BY salary DESC
  127. )
  128. WHERE Rownum<=10;
  129.  
  130. --exercitiul 22
  131. WITH Medie AS(
  132. SELECT AVG(Salary),job_id
  133. FROM Employees
  134. GROUP BY Job_Id
  135. ORDER BY 1 ASC
  136. )
  137. SELECT *
  138. FROM Medie
  139. WHERE rownum<=3;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement