Anda di halaman 1dari 16

Taller de base de datos

Agrupacin de registros

Agrupacin de registros
En ocasiones es necesario un resumen de datos, donde se muestran datos concentrados de un conjuntos de registros.
Cul es el total de ventas del ao actual? Cuntos alumnos hay en cada grupo? Cul es la estatura mxima en un grupo de personas?

Clausulas de agrupacin
Select-from-where Funciones de agregacin Group by campo
Agrupa los registros por medio de un campo.

Having condicion
Aplica condiciones de seleccin a los grupos de registros.

Funciones de agrupacin
Funcin
AVG COUNT SUM MAX MIN

Descripcin
Utilizada para calcular el promedio de los valores de un campo determinado Utilizada para devolver el nmero de registros de la seleccin Utilizada para devolver la suma de todos los valores de un campo determinado Utilizada para devolver el valor ms alto de un campo especificado Utilizada para devolver el valor ms bajo de un campo especificado

Agrupacin y funciones de resumen


DONATIVOS Socio Jairo Jairo Marcos Marco Cantidad 200 150 300 400 Institucin DIF Ro Grande AA DIF Ro Grande AA

Visualizar el total de donativo por persona


Select socio, sum(cantidad) From donativos Group by socio;
DONATIVOS Socio Jairo Jairo Marcos Marcos Cantidad 200 150 300 400 Institucin DIF Ro Grande AA DIF Ro Grande AA DONATIVOS Socio Jairo Marcos
Sum(Cantidad)

350 700

Visualizar las veces que ha donado cada persona


Select socio, count(*) From donativos Group by socio;
DONATIVOS Socio Jairo Jairo Marcos Marcos Marcos Cantidad 200 150 300 400 100 Institucin DIF Ro Grande AA DIF Ro Grande AA AA DONATIVOS Socio Jairo Marcos count(*) 2 3

Visualizar el mximo de donativo por institucin


Select institucion, max(cantidad) From donativos Group by institucion;
DONATIVOS Socio Jairo Jairo Marcos Marcos Cantidad 200 150 300 400 Institucion DIF Ro Grande AA DIF Ro Grande AA DONATIVOS Institucion DIF Ro Grande AA
max(Cantidad)

300 400

Visualizar el promedio de donativo a la institucin AA


Select institucion, avg(cantidad) From donativos where institucin =AA
DONATIVOS Socio Jairo Jairo Marcos Marcos Cantidad 200 150 300 400 Institucion DIF Ro Grande AA DIF Ro Grande AA

Group by institucin;
DONATIVOS Institucion AA
avg(Cantidad)

275

Visualizar los socios que han donado ms de $500


Select socio, sum(cantidad) as total From donativos Group by socio Having total>500;
DONATIVOS Socio Jairo Jairo Marcos Marcos Cantidad 200 150 300 400 Institucin DIF Ro Grande AA DIF Ro Grande AA DONATIVOS Socio Jairo Marcos
Sum(Cantidad)

350 700

Visualizar el socio que ms han donado


Select socio, sum(cantidad) as total From donativos Group by socio order by total DESC
DONATIVOS Socio Jairo Jairo Marcos Marco Cantidad 200 150 300 400 Institucin DIF Ro Grande AA DIF Ro Grande AA DONATIVOS Socio Marcos Jairo
total

Limit 1;

700 350

Subconsultas
Una subconsulta es una instruccin SELECT anidada dentro de una instruccin SELECT, INSERT...INTO, DELETE, o UPDATE o dentro de otra subconsulta

Clausulas bsicas
Puede utilizar tres formas de sintaxis para crear una subconsulta:
comparacin [ANY | ALL | SOME] (instruccin sql) expresin [NOT] IN (instruccin sql) [NOT] EXISTS (instruccin sql)

Visualizar los nombres de los hijos de Javier


Select nombre as hijo From personas Where padre= Any (select id from persona where nombre=Javier)
Personas Id 1 2 3 4 5 Nombre Javier Diana Leticia Emma Roberto Padre Null 1 1 Null 4 Personas Hijo (Nombre) Diana Leticia Padre 1 1

Obtenido de la subconsulta: select id from persona where nombre=Javier

Visualizar los nombres de los padres (no son hijos)


Select nombre as padre From personas Where padre <> All (select id from persona)
Personas Id 1 2 3 4 5 Nombre Javier Diana Leticia Emma Roberto Padre Null 1 1 Null 4 Personas Padre(Nombre) Javier Emma Padre Null Null

Obtenido de la subconsulta: select id from persona

Agregar un hijo Gonzalo a Emma


Insert into personas values(6, Gonzalo, (select id from persona where nombre=Emma))

Personas Id 1 2 3 4 5 Nombre Javier Diana Leticia Emma Roberto Padre Null 1 1 Null 4 Personas Id 6 Nombre Gonzalo Padre 4

Obtenido de la subconsulta: select id from persona where nombre=Emma

Anda mungkin juga menyukai