You are on page 1of 12

CONSULTAS SUMARIAS

• Se utilizan funciones columnas que calculan un


resultado.
• Las Funciones son:
SUM( ) sumatoria
AVG( ) promedio (AVeraGE)
MIN( ) valor mínimo
MAX( ) valor máximo
COUNT( ) conteo valores
COUNT(*) conteo filas
Select avg(cuota), avg(ventas) from repventas
CONSULTAS AGRUPADAS
(CLAUSULA GROUP BY)
• Esta cláusula proporciona la capacidad de
agrupar los resultados de una consulta a
un nivel de subtotal.
• Ejemplo: ¿Cuál es la sumatoria de
importes de los pedidos por cada cliente?
¿Cuál es la sumatoria de importes por
cada vendedor?.
• Se puede agrupar resultados de consulta
en base a contenidos de dos o mas
columnas.
Select rep, avg(importe) from pedidos group by rep
CONDICIONES DE BUSQUEDA DE
GRUPOS (CLAUSULA HAVING)
• Funciona como la cláusula WHERE, que
en vez seleccionar y de rechazar filas
(filtro con WHERE), HAVING selecciona o
rechaza grupos de filas (filtro de grupos).
• Ejemplo: ¿Cuál es la sumatoria de
pedidos para cada vendedor que superan
los $25,000?.
¿Cuál es el tamaño de pedido promedio
para cada vendedor cuyos pedidos
totalizan mas de $30,000?.
FORMATO DEL SELECT

SELECT [DISTINCT] [*] columna [, ...]


FROM nombre_tabla [, ...]
[WHERE condición]
[GROUP BY columna [, ...]]
[HAVING condición]
[ORDER BY columna [, ...]]
[UNION [ALL] SELECT ……]
Leyenda:
Ejecutado

Por hacer
SUBCONSULTAS
• Una consulta dentro de la claúsula WHERE
o HAVING
Consulta Principal
resultado final
Select col1, col2, ….from tabla1, …
Where …..(Select …..from….)
ó Having Subconsulta (puede tener referencia externa)
retorna una ó varias filas que la
utiliza el Where ó Having
Tipos de Subconsultas

• Test de comparación subconsulta

• Test de pertenencia a conjunto


subconsulta

• Test de existencia

• Test de comparación cuantificada


Test de Comparación Subconsulta

Compara la expresión de test con el resultado de la


subconsulta (único).

Formato:

…….WHERE expresión_test = (Subconsulta)


ó HAVING <>
>
>=
<
<=
Test de Pertenencia a Conjunto

El resultado de la expresión de test es comprobado


si está o no está en un conjunto de valores devueltos
por la subconsulta (varios).

Formato:

…….WHERE expresión_test [NOT] IN (Subconsulta)


ó HAVING
Test de Existencia (EXISTS)

Da el resultado por el filtro si el resultado de la


subconsulta es verdadero o falso (NOT)

Formato:

…….WHERE [NOT] EXISTS (Subconsulta)


ó HAVING
Test Cuantificados ANY y ALL
El mas complejo, el resultado de la expresión de test
es comparado con varios resultados de la
subconsulta fila por fila del select principal. Da
resultado si la comparación es coincidente con
algún(os) de resultados de la subconsulta (ANY) ó
con coincidencia con todos los resultados (ALL).

Formato:
..WHERE expresión_test = ANY (Subconsulta)
<> ó
> ALL
>=
<
<=

You might also like