Databases
T01-008-01 GROUP BY
Enunciado
Evidentemente, en una sentencia de agrupamiento podemos incorporar restricciones, con la claúsula
WHERE. De esta forma, no se utilizarán todas las filas de la tabla a la hora de calcular los resultados parciales, sino únicamente las que cumplan las restricciones establecidas.Ejemplo:
En el ejemplo que utilizamos en el ejercicio anterior, se tenían en cuenta aquellos empleados que no tenían asociado ningún departamento. Vamos a evitar que esto ocurra con la cláusula
WHEREcorrespondiente:
SELECT DEPARTMENT_ID, AVG(SALARY) AS "SALARIO MEDIO"
FROM HR.employees
WHERE DEPARTMENT_ID IS NOT NULL
GROUP BY DEPARTMENT_ID
DEPARTMENT_ID SALARIO MEDIO 50 3475.555555... 40 6500 110 10154 90 19333.333333... 30 4150 70 10000 -7000(no aparece)10 4400 20 9500 60 5760 100 8601.333333... 80 8955.882352... Ejercicio:
Muestra el salario MÍNIMO y MÁXIMO de los empleados de cada uno de los tipos de trabajo existentes en el departamento cuyo identificador es el 50.
Ordena el resultado alfabéticamente, en orden inverso, según el tipo de trabajo.
Tipo
Solución
SELECT JOB_ID, MIN(SALARY) AS "SALARIO MINIMO", MAX(SALARY) AS "SALARIO MAXIMO"
FROM HR.employees
WHERE DEPARTMENT_ID = 50
GROUP BY JOB_ID
ORDER BY JOB_ID DESC
Prueba
LibrerÃas (Onfly databases)

