ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

Consultas Y Resumenes En SQL


Enviado por   •  22 de Octubre de 2012  •  493 Palabras (2 Páginas)  •  570 Visitas

Página 1 de 2

CONSULTAS RESUMEN

OBJETIVOS DEL TEMA:

• Realizar consultas basadas en datos calculados globalmente dentro de

una tabla

1.- CONSULTAS RESUMEN:

Es usual querer saber cuantos pedidos tiene un cliente en un periodo de

tiempo, cuál ha sido el promedio de ventas de un proveedor en un año, etc,

SQL proporciona una serie de operadores que permiten realizar estas

operaciones. Los Operadores Agregados son :

• AVG : Promedio de los valores seleccionados

• COUNT : Total de valores seleccionados

• SUM : Suma de valores seleccionados

• MIN : El valor mínimo de los valores seleccionados

• MAX : El valor máximo de los valores seleccionados

que toman el nombre de un atributo como argumento. El valor del operador

agregado se calcula sobre todos los valores de la columna especificada en la

tabla completa. Si se especifican grupos en la consulta, el cálculo se hace sólo

sobre los valores de cada grupo, es decir SQL nos permite particionar las

tuplas de una tabla en grupos. En estas condiciones, los operadores agregados

descritos antes pueden aplicarse a los grupos (es decir, el valor del operador

agregado no se calculan sobre todos los valores de la columna especificada,

sino sobre todos los valores de un grupo. El operador agregado se calcula

individualmente para cada grupo).

El particionamiento de las tuplas en grupos se hace utilizando las

palabras clave GROUP BY seguidas de una lista de atributos que definen los

grupos. Si tenemos GROUP BY A1, ..., Ak habremos particionado la relación

en grupos, de tal modo que dos tuplas son del mismo grupo si y sólo si tienen

el mismo valor en sus atributos A1, ..., Ak.

En el siguiente ejemplo vamos a mostrar para cada cliente el número

total de pedidos, el importe total, el importe medio de cada pedido, así como el

pedido de mayor importe y menor importe. La consulta sería;

SELECT CLIENTE.APELLIDOS, COUNT( PEDIDO.IMPORTE )

TOTAL_PEDIDOS, SUM( PEDIDO.IMPORTE ) SUMA_IMPORTES, AVG(

CAST(PEDIDO.IMPORTE AS FLOAT)) PROMEDIO, MAX(

PEDIDO.IMPORTE ) MAXIMO, MIN( PEDIDO.IMPORTE) MINIMO

FROM CLIENTE

LEFT OUTER JOIN PEDIDO ON (PEDIDO.DNI = CLIENTE.DNI)

GROUP BY CLIENTE.APELLIDOS

ORDER BY CLIENTE.APELLIDOS;

APELLIDOS TOTAL_PEDIDOS SUMA_IMPORTE PROMEDIO MAXIMO MINIMO

---------------- ------------- ------------ -------- ------ ------

ARIAS FERNANDEZ 1 37.0 37.0 37.0 37.0

JIMENO DIAZ 1 88.25 88.25 88.25 88.25

JIMENO ZOLA 0

PEREZ GARCIA 3 389.78 129.9266 201.55 65.23

PEREZ LOPEZ 0

ROMERO ALONSO 1 125.12 125.12 125.12 125.12

SEBASTIAN YUSTE 2 234.58 117.29 150.38 84.2

En nuestro ejemplo, obtenemos

...

Descargar como (para miembros actualizados) txt (3 Kb)
Leer 1 página más »
Disponible sólo en Clubensayos.com