Post

Visualizzazione dei post da febbraio, 2015

ROLLUP, CUBE, GROUPING, GROUPING SETS

Immagine
L'operatore ROLLUP raccogglie i dati ottenuti da una GROUP BY in ulteriori raggruppamenti noti come "superaggregate rows". Viene utilizzato sempre in combinazione con la clausola GROUP BY. E s e m p i Estrarre per ogni dipartimento e professione la somma dei salari. select department_name , job_title, sum(SALARY) from employees join departments using( DEPARTMENT_ID) where department_id not in (10, 40,60,90) group by department_name , job_title order by department_name , job_title ; Se si vuole conoscere anche la somma dei salari di ogni dipartimento utilizzare la parola chiave ROLLUP dopo la parola chiave GROUP BY. select department_name , job_title , sum(SALARY) from employees join departments using( DEPARTMENT_ID) join jobs using(job_id) where  department_id  not in  (10, 40,60,90,70) GROUP BY ROLLUP ( department_name ,JOB_TITLE ) order by department_name ,job_title; L'operatore ROLLUP ha prodotto sei"subtotals group" da destra