icatalin

bd lab 2 r

Nov 23rd, 2018
258
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
SQL 4.73 KB | None | 0 0
  1. http://193.226.51.37/down/SQL/Laborator2_SQL_an2.pdf
  2. --lab2
  3. --ex1
  4. SELECT first_name || ' ' || last_name || ' castiga ' || salary
  5. || ' lunar, dar doreste ' || salary*3 AS "Salariu ideal"
  6. FROM employees;
  7.  
  8. --ex2
  9. SELECT first_name, UPPER(last_name), LENGTH(last_name)
  10. FROM employees
  11. WHERE last_name LIKE 'J%' OR last_name LIKE 'M%' OR last_name LIKE '___a%'
  12. ORDER BY LENGTH(last_name) DESC;
  13.  
  14. --ex2b
  15. SELECT first_name, UPPER(last_name), LENGTH(last_name)
  16. FROM employees
  17. WHERE substr(last_name,1,1) = 'J'
  18. OR substr(last_name,1,1) = 'M'
  19. OR substr(last_name,3,1) = 'a'
  20. ORDER BY LENGTH(last_name) DESC;
  21.  
  22. --ex3
  23. SELECT employee_id, first_name, last_name, department_id
  24. FROM employees
  25. WHERE LOWER(TRIM(first_name)) = 'steven';
  26.  
  27. --ex4
  28. SELECT employee_id AS "ID", last_name AS "Nume", department_id AS "Dep. ID", LENGTH(last_name) AS "Lungime nume", instr(last_name,'a') AS "Pozitie"
  29. FROM employees
  30. WHERE last_name LIKE '%e';
  31.  
  32. --ex5
  33. SELECT employee_id, first_name, last_name, round(sysdate - hire_date)
  34. FROM employees
  35. WHERE MOD(round(sysdate - hire_date),7) = 0;
  36.  
  37. --ex6 nu merge fmm
  38. SELECT employee_id, last_name, salary + 0.0
  39. FROM employees;
  40.  
  41. --ex7
  42. SELECT last_name AS "Nume angajat", rpad(hire_date,12) AS "Data angajarii"
  43. FROM employees
  44. WHERE commission_pct > 0;
  45.  
  46. --ex8
  47. SELECT sysdate + 30, to_char(sysdate + 30, 'dd-mon-yyyy hh24:mi:ss')
  48. FROM dual;
  49.  
  50. --ex9
  51. SELECT last_day('01-DEC-2018') - sysdate
  52. FROM dual;
  53.  
  54. --ex10
  55. SELECT to_char(sysdate + 0.5, 'dd-mon-yyyy hh24:mi:ss')
  56. FROM dual;
  57.  
  58. SELECT to_char(sysdate + 1/24/12, 'dd-mon-yyyy hh24:mi:ss')
  59. FROM dual;
  60.  
  61. --ex11
  62. SELECT last_name || ' ' || first_name AS "Angajat", hire_date, salary, next_day(add_months(hire_date,6),'Monday') AS "Negociere"
  63. FROM employees;
  64.  
  65. --ex12
  66. SELECT last_name, round(months_between('25-NOV-2018',hire_date))
  67. FROM employees
  68. ORDER BY months_between('25-NOV-2018',hire_date) DESC ;
  69.  
  70. --ex13
  71. SELECT last_name, hire_date, to_char(trunc(hire_date), 'day')
  72. FROM employees;
  73.  
  74. --ex14
  75. SELECT last_name, decode(commission_pct,NULL,'Fara comision',commission_pct) AS "Comision"
  76. FROM employees;
  77.  
  78. --ex15
  79. SELECT last_name, salary, commission_pct
  80. FROM employees
  81. WHERE salary * (1 + nvl(commission_pct,0)) > 10000;
  82.  
  83. --ex16
  84. SELECT last_name, job_id, salary,
  85. CASE job_id
  86. WHEN 'IT_PROG' THEN salary * 1.20
  87. WHEN 'SA_REP' THEN salary * 1.25
  88. WHEN 'SA_MAN' THEN salary * 1.35
  89. ELSE salary
  90. END AS "Salariu renegociat"
  91. FROM employees;
  92.  
  93. --ex17
  94. SELECT emp.last_name, emp.department_id, dep.department_name
  95. FROM employees emp JOIN departments dep
  96. ON emp.department_id = dep.department_id;
  97.  
  98. -ex18
  99. SELECT job_title, department_id
  100. FROM departments JOIN jobs
  101. ON department_id = 30;
  102.  
  103. --ex19
  104. SELECT emp.last_name, dep.department_name, loc.city
  105. FROM employees emp, departments dep, locations loc
  106. WHERE emp.commission_pct > 0;
  107.  
  108. --ex19 v2
  109. SELECT emp.last_name, dep.department_name, loc.city
  110. FROM employees emp JOIN departments dep
  111. ON emp.department_id = dep.department_id
  112. JOIN locations loc
  113. ON dep.location_id = loc.location_id
  114. WHERE commission_pct >0;
  115.  
  116. --ex20
  117. SELECT last_name, department_name
  118. FROM employees emp JOIN departments dep
  119. ON emp.department_id = dep.department_id
  120. WHERE UPPER(last_name) LIKE '%A%';
  121.  
  122. --ex21
  123. SELECT emp.last_name, j.job_title, emp.department_id, dep.department_name, loc.city
  124. FROM employees emp
  125. JOIN departments dep ON emp.department_id = dep.department_id
  126. JOIN jobs j ON j.job_id = emp.job_id
  127. JOIN locations loc ON loc.location_id = dep.location_id
  128. WHERE loc.city = 'Oxford';
  129.  
  130. --ex22
  131. SELECT emp.employee_id AS "Ang#", emp.last_name AS "Angajat",
  132. man.employee_id AS "Mgr#", man.last_name AS "Manager"
  133. FROM employees emp
  134. JOIN employees man
  135. ON emp.manager_id = man.employee_id;
  136.  
  137. --ex23
  138. SELECT emp.employee_id AS "Ang#", emp.last_name AS "Angajat",
  139. man.employee_id AS "Mgr#", man.last_name AS "Manager"
  140. FROM employees emp
  141. LEFT JOIN employees man
  142. ON emp.manager_id = man.employee_id;
  143.  
  144. -ex24
  145. SELECT emp.last_name AS "Angajat" , emp.department_id AS "Departamanet",
  146. col.last_name AS "Colegi"
  147. FROM employees emp
  148. JOIN employees col
  149. ON emp.department_id = col.department_id
  150. WHERE emp.employee_id < col.employee_id;
  151.  
  152. -ex25
  153. DESC jobs;
  154. SELECT emp.last_name, j.job_id, j.job_title, dep.department_name, emp.salary
  155. FROM employees emp
  156. JOIN jobs j ON emp.job_id = j.job_id
  157. LEFT JOIN departments dep
  158. ON emp.department_id = dep.department_id;
  159.  
  160. --ex26
  161. SELECT emp.last_name, emp.hire_date
  162. FROM employees emp
  163. JOIN employees gates
  164. ON emp.hire_date > gates.hire_date
  165. WHERE gates.last_name = 'Gates';
  166.  
  167. --ex27
  168. SELECT emp.last_name AS "Angajat", emp.hire_date AS "Data_ang",
  169. man.last_name AS "Manager", man.hire_date AS "Data_mgr"
  170. FROM employees emp
  171. JOIN employees man ON emp.manager_id = man.employee_id
  172. WHERE emp.hire_date < man.hire_date;
Advertisement
Add Comment
Please, Sign In to add comment