Actividad Práctica - Laboratorio 6.3.9 Uso de extensiones en la cláusula GROUP BY Objetivos: Entender los niveles de agrupamiento formados por CUBE y ROLLUP. Diferenciar programáticamente filas regulares y filas superagregadas. Comprender la sintaxis de extensiones a la cláusula GROUP BY. Duración estimada: 45 min Descripción: 1. Dada la siguiente consulta: SELECT ALL c.country_name, l.city, AVG(e.salary) SALARIO_PROMEDIO FROM hr.employees e, hr.departments d, hr.locations l, hr.countries c WHERE e.department_id = d.department_id AND d.location_id = l.location_id AND l.country_id = c.country_id GROUP BY c.country_name, l.city; Agregue una fila de subtotales por país y una fila de total general al final utilizando extensiones a la cláusula GROUP BY. Para las filas de subtotales mostrar el texto “Subtotal”, y para la fila de total general mostrar “Total General”. 2. Dada la siguiente consulta: SELECT FROM WHERE UNION SELECT FROM WHERE e.last_name, e.salary hr.employees e e.manager_id = 101 ALL 'Total', sum(e.salary) hr.employees e e.manager_id = 101; a) Rescribir la consulta para reemplazar el total general calculado con el operador UNION ALL por una fila de total general calculada utilizando ROLLUP. b) Idem punto a) pero utilizando GROUPING SETS. 3. Además de los totales regulares, la siguiente consulta muestra subtotales por país, ciudad y por departamento. SELECT ALL c.country_name, l.city, d.department_name, AVG(e.salary) SALARIO_PROMEDIO FROM hr.employees e, hr.departments d, hr.locations l, HR.COUNTRIES c WHERE e.department_id = d.department_id 2008 - Prohibida su reproducción AND d.location_id = l.location_id AND l.country_id = c.country_id GROUP BY CUBE(c.country_name, l.city, d.department_name); Rescriba la consulta para mostrar únicamente: 1. Filas agregadas regulares 2. Filas de subtotales por país 3. Filas de subtotales por departamento en la ciudad correspondiente 4. Total general 2008 - Prohibida su reproducción