Advertisement
Guest User

PBD_Lab6_CorrectV

a guest
Dec 5th, 2016
95
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1.  
  2.  
  3. 2. Scrieti o interogare care sa afiseze, simultan, urmatoarele informatii pentru acei angajati al caror
  4. identificator pentru manager este mai mic de 120:
  5. a. identificatorul managerului
  6. b. - identificatorul jobului
  7. c. - salariul total pentru toti angajatii subordonati unui manager
  8. d. - un total al tuturor salariilor
  9.  
  10. SELECT manager_id, job_id,first_name, SUM (salary)
  11.  FROM employees
  12.  WHERE manager_id< 120
  13.  GROUP BY ROLLUP (manager_id,job_id,first_name) ;
  14.  
  15. 3.Modificati interogarea de la punctul 4 astfel incat sa se determine daca o valoare NULL din
  16. coloanele corespunzatoare expresiei din clauza GROUP BY este produsa de o operatie ROLLUP.
  17.  
  18. SELECT
  19. DECODE (GROUPING (department_id),1, 'NULL Caused by rollup function', department_id),
  20.  DECODE (GROUPING (job_id),1, 'NULL Caused by rollup function', job_id)
  21. , SUM (salary),
  22. GROUPING (department_id) GRP_DEPT,
  23.  GROUPING (job_id) GRP_JOB
  24.  FROM employees
  25.  WHERE department_id< 60
  26.  GROUP BY ROLLUP (department_id, job_id) ;
  27.  
  28. 4. Utilizand clauza GROUPING SETS, scrieti o interogare care sa realizeze urmatoarele grupari:
  29. a. department_id, manager_id, job_id
  30. b. department_id, job_id
  31. c. manager_id, job_id
  32. Interogarea va calcula suma salariilor pentru fiecare din aceste grupari.
  33.  
  34. SELECT department_id, manager_id, job_id, SUM (salary)
  35.  FROM employees
  36.  GROUP BY GROUPING SETS (department_id, manager_id,job_id) ;
  37.  
  38.  
  39. SELECT department_id, job_id, SUM (salary)
  40.  FROM employees
  41.  GROUP BY GROUPING SETS (department_id, job_id) ;
  42.  
  43. SELECT manager_id, job_id, SUM (salary)
  44.  FROM employees
  45.  GROUP BY GROUPING SETS (manager_id,job_id) ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement