Practica
SUM, AVG, COUNT, MAX y MIN MAX y MIN - seleccionan valor máximo o mínimo en una columna ¿Cuáles son las tarifas por hora máxima y mínima?
SELECT MAX(TARIFA_HORA),MIN(TARIFA_HORA) FROM EMPLEADO
34
Funciones agregadas: COUNT
¿Cuántos edificios tienen nivel 3?
SELECT COUNT(*) FROM EDIFICIO WHERE NIVEL = 3
¿Cuántos tipos de cualificación existen?
SELECT COUNT(DISTINCTCUALIFICACION) FROM EMPLEADO
Sólo tienen sentido COUNT(*) o COUNT(DISTINCT columna)
35
Funciones agregadas: AVG
¿Cuál es el número medio de días que los empleados están asignados aledificio 2?
SELECT AVG(NUM_DIAS) FROM ASIGNACION WHERE NUM_EDI = 2
¿Cuál es el salario semanal medio?
SELECT AVG(40 * TARIFA_HORA) FROM EMPLEADO
Todas las funciones agregadas, excepto COUNT, puedenutilizarse con expresiones
36
Funciones agregadas: SUM
¿Cuál es el número total de días de fontanero asignados al edificio 1?
SELECT SUM(NUM_DIAS) FROM ASIGNACION, EMPLEADO WHEREEMPLEADO.NUM_EMP = ASIGNACION.NUM_EMP AND CUALIFICACION = ‘Fontanero’ AND NUM_EDI = 1
EMPLEADO (num_emp, nombre, tarifa_hora, cualificacion, num_sup) ASIGNACION (num_emp, num_edi, fecha_ini, num_dias)
SUM y AVGdeben usarse con columnas numéricas 37
La cláusula GROUP BY
Para cada supervisor, ¿cuál es la tarifa por hora más alta pagada a un empleado de ese supervisor?
SELECT NUM_SUP, MAX(TARIFA_HORA)FROM EMPLEADO GROUP BY NUM_SUP
Tuplas divididas en grupos Aplicar SELECT Si en un SELECT aparece una función agregada, el resto tienen que ser también funciones agregadas (con excepción de GROUP_BY)38
La cláusula GROUP BY (II)
Para cada tipo de edificio, ¿cuál es la calidad media para edificios de estado 1?
SELECT TIPO, AVG(NIVEL) FROM EDIFICIO WHERE ESTADO = 1 GROUP BY TIPO
WHERE GROUPBY
39
La cláusula HAVING
Para cada supervisor que supervisa a más de un empleado, ¿cuál es la tarifa por hora más alta de los empleados que supervisa?
SELECT NUM_SUP, MAX(TARIFA_HORA) FROM...
Regístrate para leer el documento completo.