Tema 4. Las consultas de resumen (I) |
Introducción |
En SQL de Microsoft Jet 4.x y de la mayoría de los motores de bases de datos relacionales, podemos definir un tipo de consultas cuyas filas resultantes son un resumen de las filas de la tabla origen, por eso las denominamos consultas de resumen, también se conocen como consultas sumarias. Es importante entender que las filas del resultado de una consulta de resumen tienen una naturaleza distinta a las filas de las demás tablas resultantes de consultas, ya que corresponden a varias filas de la tabla orgen. Para simplificar, veamos el caso de una consulta basada en una sola tabla, una fila de una consulta 'no resumen' corresponde a una fila de la tabla origen, contiene datos que se encuentran en una sola fila del origen, mientras que una fila de una consulta de resumen corresponde a un resumen de varias filas de la tabla origen, esta diferencia es lo que va a originar una serie de restricciones que sufren las consultas de resumen y que veremos a lo largo del tema.
En el ejemplo que viene a continuación tienes un ejemplo de consulta
normal en la que se visualizan las filas de la tabla oficinas ordenadas
por region, en este caso cada fila del resultado se corresponde con una
sola fila de la tabla oficinas, mientras que la segunda consulta es una
consulta resumen, cada fila del resultado se corresponde con una o varias
filas de la tabla oficinas. |
|
Las consultas de resumen introducen dos nuevas
cláusulas a la sentencia SELECT, la
cláusula GROUP BY y la cláusula
HAVING, son cláusulas que sólo
se pueden utilizar en una consulta de resumen, se tienen que
escribir entre la cláusula
WHERE y
la cláusula ORDER BY
y tienen la siguiente sintaxis: |
![]() |
Las detallaremos en la página siguiente del tema, primero vamos a introducir otro concepto relacionado con las consultas de resumen, las funciones de columna.
|
En la lista de selección de una consulta de resumen aparecen funciones de columna también denominadas funciones de dominio agregadas. Una función de columna se aplica a una columna y obtiene un valor que resume el contenido de la columna. Tenemos las siguientes funciones de columna: |
|
El argumento de la función indica con qué valores se tiene que operar, por eso expresión suele ser un nombre de columna, columna que contiene los valores a resumir, pero también puede ser cualquier expresión válida que devuelva una lista de valores.
|
SELECT SUM(ventas) |
Obtiene una sola fila con el resultado de sumar todos los
valores de la columna ventas de la tabla oficinas. |
|
Si tenemos esta tabla: |
La consulta |
devuelve: |
En este caso los ceros entran en la media por lo
que sale igual a 4 |
Con esta otra tabla: |
SELECT
AVG(col1) AS media |
devuelve: |
En este caso los ceros se han sustituido por valores
nulos y no entran en el cálculo por lo que la media sale igual
a 6 |
Ejemplo: |
|
SELECT (AVG(ventas) * 3)
+ SUM(cuota) |
SELECT AVG(SUM(ventas)) |
Si queremos eliminar
del origen de datos algunas filas,
basta incluir la cláusula WHERE
que ya conocemos después de la cláusula FROM. SELECT SUM(ventas) |
Si los datos que
necesitamos utilizar para obtener nuestro resumen se
encuentran en varias tablas,
formamos el origen de datos adecuado en la cláusula FROM
como si fuera una consulta multitabla
normal. SELECT SUM(empleados.ventas),
MAX(objetivo) |
|
![]() |
![]() |
![]() |
Pag. 4.1
|
© aulaClic. Todos los derechos reservados.
Free Computer tutorials .
Prohibida la reproducción por cualquier medio.
Junio-2001.aulaClic.com |
Síguenos en: Facebook Sobre aulaClic Política de Cookies
© aulaClic S.L. Todos los derechos reservados. Prohibida la reproducción por cualquier medio.