0% found this document useful (0 votes)
56 views3 pages

Leccion 11 02 Consultas Con Agrupamiento

The document discusses various types of grouping functions and aggregation queries that can be performed in Oracle including: AVG, MAX, MIN, SUM, COUNT, DISTINCT, GROUP BY, HAVING, nested aggregation functions, ROLLUP to report totals by group, and CUBE to report subtotals for each combination of groups. Examples are provided for each type of grouping function and aggregation query to demonstrate their use.

Uploaded by

Miguel Castillo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
56 views3 pages

Leccion 11 02 Consultas Con Agrupamiento

The document discusses various types of grouping functions and aggregation queries that can be performed in Oracle including: AVG, MAX, MIN, SUM, COUNT, DISTINCT, GROUP BY, HAVING, nested aggregation functions, ROLLUP to report totals by group, and CUBE to report subtotals for each combination of groups. Examples are provided for each type of grouping function and aggregation query to demonstrate their use.

Uploaded by

Miguel Castillo
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 3

Consultas con Agrupamiento Talleres Oracle

CONSULTAS CON AGRUPAMIENTO


----------------------------------
-- 1. AVG, MAX, MIN, SUM
----------------------------------
SELECT AVG(SALARY), MAX(SALARY), MIN(SALARY), SUM(SALARY)
FROM EMPLOYEES
WHERE JOB_ID LIKE '%REP%';

SELECT MIN(HIRE_DATE), MAX(HIRE_DATE)


FROM EMPLOYEES;

----------------------------------
-- 2. COUNT
----------------------------------
SELECT COUNT(*)
FROM EMPLOYEES
WHERE DEPARTMENT_ID = 50;

SELECT COUNT(COMMISSION_PCT)
FROM EMPLOYEES
WHERE DEPARTMENT_ID = 80;

----------------------------------
-- 3. DISTINCT
----------------------------------
SELECT COUNT(DISTINCT DEPARTMENT_ID)
FROM EMPLOYEES;

----------------------------------
-- 4. USO DE FUNCIONES DE AGRUPAMIENTO Y NULOS
----------------------------------
SELECT AVG(COMMISSION_PCT)
FROM EMPLOYEES;

SELECT AVG ( NVL (COMMISSION_PCT, 0))


FROM EMPLOYEES;

----------------------------------
-- 5. GROUP BY
----------------------------------
SELECT DEPARTMENT_ID, AVG(SALARY)
FROM EMPLOYEES
GROUP BY DEPARTMENT_ID ;

INSTRUCTOR : ALAIN MEJIA AVALOS [email protected]


Consultas con Agrupamiento Talleres Oracle

SELECT DEPARTMENT_ID, JOB_ID, SUM(SALARY)


FROM EMPLOYEES
WHERE DEPARTMENT_ID > 40
GROUP BY DEPARTMENT_ID, JOB_ID
ORDER BY DEPARTMENT_ID;

----------------------------------
-- 6. HAVING : RESTRINGIENDO FILAS EN AGRUPAMIENTO
----------------------------------
SELECT DEPARTMENT_ID, MAX(SALARY)
FROM EMPLOYEES
GROUP BY DEPARTMENT_ID
HAVING MAX(SALARY) > 10000 ;

SELECT JOB_ID, SUM(SALARY) PAYROLL


FROM EMPLOYEES
WHERE JOB_ID NOT LIKE '%REP%'
GROUP BY JOB_ID
HAVING SUM(SALARY) > 13000
ORDER BY SUM(SALARY);

----------------------------------
-- 7. FUNCIONES DE AGRUPAMIENTO ANIDADAS
----------------------------------
SELECT MAX( AVG (SALARY) )
FROM EMPLOYEES
GROUP BY DEPARTMENT_ID;

-----------------------------------------
-- 8. FUNCIONES DE AGRUPAMIENTO ANIDADAS
-----------------------------------------
SELECT MAX( AVG (SALARY) )
FROM EMPLOYEES
GROUP BY DEPARTMENT_ID;

-----------------------------------------
-- 9.ROLLUP : REPORTE CON LOS TOTALES POR GRUPO
-----------------------------------------
SELECT COUNTRY_NAME , CITY , SUM( SALARY ) , COUNT(*)
FROM EMPLOYEES E
JOIN DEPARTMENTS D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID
JOIN LOCATIONS L ON D.LOCATION_ID = L.LOCATION_ID
JOIN COUNTRIES C ON L.COUNTRY_ID = C.COUNTRY_ID
GROUP BY ROLLUP ( COUNTRY_NAME , CITY )
ORDER BY 1 , 2;

INSTRUCTOR : ALAIN MEJIA AVALOS [email protected]


Consultas con Agrupamiento Talleres Oracle

-----------------------------------------
-- 10.CUBE : REPORTE QUE AGREGA RESUMEN DE CADA SUBTOTAL
-----------------------------------------
SELECT COUNTRY_NAME , CITY , SUM( SALARY ) , COUNT(*)
FROM EMPLOYEES E
JOIN DEPARTMENTS D ON E.DEPARTMENT_ID = D.DEPARTMENT_ID
JOIN LOCATIONS L ON D.LOCATION_ID = L.LOCATION_ID
JOIN COUNTRIES C ON L.COUNTRY_ID = C.COUNTRY_ID
GROUP BY CUBE ( COUNTRY_NAME , CITY )
ORDER BY 1 , 2;

INSTRUCTOR : ALAIN MEJIA AVALOS [email protected]

You might also like