Upload
morse
View
49
Download
0
Embed Size (px)
DESCRIPTION
Bases de datos con MYSQL. TERCERA SESION. Funciones de Grupo. Las funciones de grupo operan sobre un conjunto de filas ( tuplas ) agrupadas por el valor de un atributo en comun. Personas que trabajan En el Departamento 1. Directrices para formar grupos. - PowerPoint PPT Presentation
Citation preview
Bases de datos con MYSQL
TERCERA SESION
Funciones de Grupo Las funciones de grupo operan sobre un
conjunto de filas (tuplas) agrupadas por el valor de un atributo en comun.
Personas que trabajan En el Departamento 1
Directrices para formar grupos Se tiene que especificar con que atributo, o
conjunto de atributos con los que se realizara el grupo
Se tiene que especificar la condicion con que se formara el grupo utilizando la sentencia GROUP BY
En este casoGROUP BY = Trabaja_en
Ya teniendo la condición realizadaSe puede operar los demas atributoscon las funciones de grupo
Grupo formado por la agrupación del atributo Trabaja_en con el valor igual a 1
Directrices para funciones de grupo Existen diversos tipos de funciones de
grupo, en esto también algunos DBMS agregan funciones especiales, dentro de las funciones del SQL Standard tenemos:AVG( atributo ) Promedio del atributo
seleccionado
COUNT( * ) Cuenta las filas de la selección
MAX(atributo ) Valor máximo del atributo
MIN(atributo ) Valor mínimo del atributo
SUM(atributo ) Suma todos los valores del atributo
VARIANCE(atributo )
Varianza del atributo
Directrices para funciones de grupo Las funciones de grupo operan sobre la
selección de atributos realizada en la sentencia SELECT
Utilizando las funciones de grupo Las funciones de grupo, responde a diferentes
consultas donde se ve involucrada una previa agrupacion.
Antes de resolver una consulta se debe tener bien definida la idea de cómo se formara el grupo
Ejemplo ¿Cuál es el empleado que gana mas salario?AGRUPACION : TODOS
FUNCION DE GRUPOMAX(ATRIBUTO)
Utilizando funciones de grupo
Resolviendo la consulta tendríamos la siguiente sentencia.
SELECT NOMBRE, APELLIDO, MAX(SALARIO)FROM EMPLEADO
Utilizando funciones de grupo ¿Cuál es el máximo salario de cada
departamento?
AGRUPACION : DEPARTAMENTO
FUNCION DE GRUPOMAX(ATRIBUTO)
SELECT TRABAJA_EN , MAX(SALARIO)FROM EMPLEADOGROUP BY TRABAJA_EN
Preguntas para la clase ¿Cuál es el promedio de los salarios del
departamento 1? ¿Cuál es el promedio de los salarios de todos
los departamentos? ¿Cuál es el salario mas bajo en todos los
departamentos? ¿A cuanto alcanza la suma de los salarios en
cada departamento?
Condicionando grupos Existe un sentencia que condiciona el
resultado de las funciones de grupo :
El PromedioDe los
Salarios porDepartamento
¿MOSTRAR SOLO PROMEDIO DE LOS
SALARIOS MAYORES A 3000 BS.?
La clausula HAVING La clausula HAVING se utiliza para agregar
una condicion, despues de haber realizado una funcion de grupo
Se utiliza para condicionar la agrupacion realizada por el GROUP BY
Directrices para utilizar HAVING Utilizar Having solo para realizar condiciones a
funciones de grupo Tener bien formulado el grupo de datos a
trabajar y condiciones a utilizar Ejm. Promedio de los salarios de los
departamentos que sean mayores a 3000
SELECT TRABAJA_EN , AVG(SALARIO)FROM EMPLEADOGROUP BY TRABAJA_EN
PASO 1 : DEFINIR LA SENTENCIA DE LA FUNCION DE GRUPO SIN LA CONDICION
Directrices para utilizar HAVING
PASO 2 : APLICAR HAVING A LA FUNCION DE GRUPO CONDICIONANDOLO CON UN VALOR
SELECT TRABAJA_EN , AVG(SALARIO)FROM EMPLEADOGROUP BY TRABAJA_ENHAVING AVG(SALARIO) > 3000
Preguntas para la Clase ¿Qué departamentos tienen salarios máximos
arriba de 3500? ¿Qué departamentos en su suma de salarios
sobrepasan los 7000 bs.?