0% encontró este documento útil (0 votos)
6 vistas9 páginas

Funciones de Agregación en SQL

Este documento explica las funciones de agregación y cláusulas en SQL como avg, count, sum, min, max, group by, having y order by. Proporciona ejemplos del uso de estas funciones y cláusulas para consultar y resumir datos almacenados en bases de datos relacionales.

Cargado por

Ilse Cheshire
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
6 vistas9 páginas

Funciones de Agregación en SQL

Este documento explica las funciones de agregación y cláusulas en SQL como avg, count, sum, min, max, group by, having y order by. Proporciona ejemplos del uso de estas funciones y cláusulas para consultar y resumir datos almacenados en bases de datos relacionales.

Cargado por

Ilse Cheshire
Derechos de autor
© Attribution Non-Commercial (BY-NC)
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd

PROGRAMACION EN BASE DE DATOS

ILSE [Link] RIVERA

o FUNCIONES DE AGREGACION o CLAUSULAS(HAVING,GROUP BY,ORDER BY)

30/AGO/2011

INDICE

Contenido
INTRODUCCION ................................................................................................................................... 3 FUNCIONES DE AGREGACION ............................................................................................................. 4 Media: avg .............................................................................................................................. 4 Mnimo: min ........................................................................................................................... 4 Mximo: mx. ......................................................................................................................... 4 Total: sum ............................................................................................................................... 4 Recuento: count...................................................................................................................... 4

CLAUSULAS ......................................................................................................................................... 5 CLAUSULA GROUP BY ..................................................................................................................... 5 CLAUSULA HAVING ......................................................................................................................... 6 CLAUSULA ORDER BY...................................................................................................................... 6 EJEMPLOS............................................................................................................................................ 7 BIBLIOGRAFIA ..................................................................................................................................... 9

INTRODUCCION
El lenguaje de consulta estructurado o SQL (por sus siglas en ingls structured query language) es un lenguaje declarativo de acceso a bases de datos relacionales que permite especificar diversos tipos de operaciones en stas. Una de sus caractersticas es el manejo del lgebra y el clculo relacional permitiendo efectuar consultas con el fin de recuperar -de una forma sencillainformacin de inters de una base de datos, as como tambin hacer cambios sobre ella. El lenguaje SQL est compuesto por comandos, clusulas, operadores y funciones de agregado. Estos elementos se combinan en las instrucciones para crear, actualizar y manipular las bases de datos.

FUNCIONES DE AGREGACION
Las funciones de agregacin son funciones que toman una coleccin (conjunto o multiconjunto) de valores como entrada y devuelven un solo valor, se usan dentro de una clausula select. SQL ofrece cinco funciones de agregacin incorporadas:

Media: avg Utilizada para calcular el promedio de los valores de un campo determinado. Mnimo: min Utilizada para devolver el valor ms bajo de un campo especificado. Mximo: mx. Utilizada para devolver el valor ms alto de un campo especificado. Total: sum Utilizada para devolver la suma de todos los valores de un campo determinado. Recuento: count Utilizada para devolver el nmero de registros de la seleccin.

Los datos de entrada para sum y avg deben ser una coleccin de nmeros, pero los otros operadores tambin pueden operar sobre colecciones de datos de tipo no numrico como las cadenas de caracteres. Existen circunstancias en las cuales seria deseable aplicar las funciones de agregacin no solo a un nico conjunto de tuplas si no tambin a un grupo de conjuntos de tuplas; esto se especifica en SQL mediante la clausula group by. El atributo o atributos especificados en la clausula group by se usan para formar grupos. Las tuplas con el mismo valor en todos los atributos de la clausula group by constituyen a un mismo grupo. Con frecuencia se usa la funcin de agregacin count para contar el nmero de tuplas de una relacin. La notacin de SQL para esta funcin es count (*). Se dan casos en los cuales es necesario eliminar los valores duplicados antes de calcular una funcin de agregacin. Si se desea eliminar los valores duplicados hay que utilizar la palabra distinct expresin de agregacin. SQL no permite el uso del distinct con count (*). Pero si es legal el uso de distinct con mx. y min aunque el resultado no cambia. A veces resulta til establecer una condicin que se aplique a los grupos en vez de las tuplas.

En este caso se utiliza la clausula having de SQL. Si en la misma consulta aparecen una clausula where y una clausula having, SQL primero aplica el predicado de la clausula where. Las tuplas que satisfacen el predicado de la clausura where se dividen luego en grupos segn la clausula group by, despus se aplica la clausula having (si existe) a cada grupo; SQL elimina los grupos que no satisfacen el predicado de la clausula having. La clausula select utiliza los grupos restantes para generar las tuplas del resultado de la consulta.

CLAUSULAS

CLAUSULA GROUP BY Utilizada para separar los registros seleccionados en grupos especficos

Group By combina en un nico registro los registros los valores idnticos en la lista de campos especificada. Suele ir acompaada de alguna funcin resumen o de agregado. Si se incluye alguna funcin de agregado en el comando SELECT, se crear un valor resumen para cada registro si no se incluye ninguna funcin agregada los Valores de resumen se omiten. El orden de los nombres de los campos determinar los niveles de agrupamiento, del ms alto al ms bajo. GROUP BY puede hacer referencia a cualquier campo de la tabla, incluso sin que est presente en la clusula SELECT siempre que el comando SELECT haga referencia a alguna funcin de agregado de SQL. Todos los campos de la lista de campos de SELECT deben o bien incluirse en la clusula GROUP BY o como argumentos de una funcin SQL agregada Los valores Null en los campos GROUP BY se agrupan y no se omiten, pero, no se evalan en Ninguna de las funciones SQL agregadas. Para excluir aquellas filas que no se desea agrupar se utiliza la clusula WHERE y, para excluir las Filas una vez agrupadas se utiliza la clusula HAVING. Los datos tipo Memo, Objetos OLE, etc., no se pueden agrupar.

CLAUSULA HAVING Utilizada para expresar la condicin que debe satisfacer cada grupo

Cuando se selecciona un conjunto de atributos agrupados por uno o ms atributos, se pueden imponer condiciones a los grupos, en este caso se utiliza la clusula HAVING, que sera el equivalente a la clusula WHERE aplicada a los grupos. HAVING elimina los grupos para los cuales la expresin da como resultado FALSO o DESCONOCIDO.

CLAUSULA ORDER BY Utilizada para ordenar los registros seleccionados de acuerdo con un orden especfico

La clusula Order By ordena el resultado de una consulta por una o ms columnas. Un ordenamiento puede ser ascendente utilizando (ASC) o descendente utilizando (DESC). Si no se especifica un ordenamiento se asume ASC. Si se indica mas de una columna en la clausula Order by el ordenamiento es anidado. Para la condicin de seleccin se puede utilizar los mismos tests de comparacin descritos en la clausula where, tambin se pueden escribir condiciones compuestas (unidas por los operadores OR, AND, NOT.

EJEMPLOS
AGREGACION

AVG Select avg (saldo) From cuenta Where nombre_sucursal=navacerrada Select nombre_sucursal,avg(saldo) From cuenta Where impositor.numero_cuenta =cuenta numero

Group by Select nombre_sucursal, avg(saldo) From cuenta Group by sucursal Lista los nmeros de departamento y la suma de los salarios de cada uno de ellos

SELECT sum(sal), deptno FROM emp GROUP BY deptno

DEPTNO SUM (SAL) ------- -------10 8750 20 10875 30 9400

Lgicamente, no se pueden seleccionar atributos que no se puedan agrupar por los atributos indicados en el GROUP BY HAVING Lista la suma de los sueldos agrupada por departamentos, pero slo aquellos en los que la suma sea mayor que 10000, o que el departamento sea el 30 SELECT DEPTNO, SUM(SAL) FROM EMP GROUP BY DEPTNO HAVING SUM(SAL)>10000 OR DEPTNO=30
SUM (SAL) DEPTNO -------- ------10875 20 9400 30

COUNT

SUM

MIN Y MAX

SELECT MIN(unidades) AS minimo FROM pedidos; Retorna el pedido ms pequeo y lo refleja en el campo 'minimo'. SELECT MAX(unidades) AS maximo FROM pedidos WHERE fecha=Now(); Retorna el pedido ms grande de hoy y lo refleja en el campo 'maximo'. SELECT MAX(gastos) AS maximo FROM diario; Retorna el gasto ms costoso reflejado en el diario contable, y lo representa en el campo 'maximo'.

BIBLIOGRAFIA Fundamentos En Base De Datos Quinta Edicin Silbertschatz, Korth, Sudarshan

[Link] [Link] [Link]

También podría gustarte