Académique Documents
Professionnel Documents
Culture Documents
CONSULTAS SQL
I. PRACTICA 01 (Dirigida)
Con la Base de Datos Practica001 realizar las siguientes consultas:
1. Listado alfabtico de todos los alumnos con sexo M.
SELECT alumno.codalu,
alumno.nomalu,
alumno.sexo
FROM alumno
WHERE alumno.sexo = 'M'
ORDER BY alumno.nomalu ASC
SELECT alumno.nomalu,
alumno.direccin,
alumno.aoingr
FROM alumno
WHERE alumno.aoingr >= 1997
ORDER BY alumno.nomalu ASC
BASE DE DATOS
3. Todas las notas y nombres de curso del alumno con cdigo 329.
SELECT curso.codcur,
curso.nomcur,
notas.nota
FROM curso,
notas
WHERE ( curso.codcur = notas.codcur ) and
( ( notas.codalu = '329' ) )
ORDER BY curso.nomcur ASC
BASE DE DATOS
SELECT alumno.codalu,
alumno.nomalu,
curso.codcur,
curso.nomcur,
notas.nota,
dicta.semestre
FROM curso,
dicta,
notas,
alumno,
profesor
WHERE ( curso.codcur = dicta.codcur ) and
( dicta.semestre = notas.semestre ) and
( notas.codalu = alumno.codalu ) and
( dicta.codprof = profesor.codprof ) and
( ( notas.codcur = dicta.codcur ) AND
( notas.nota = 13 ) AND
( profesor.nomprof = 'Sierra' ) )
SELECT notas.semestre,
curso.nomcur,
count(alumno.codalu) as total
FROM curso,
notas,
alumno
WHERE ( curso.codcur = notas.codcur ) and
( notas.codalu = alumno.codalu )
GROUP BY notas.semestre,
curso.nomcur
ORDER BY notas.semestre ASC
BASE DE DATOS
SELECT curso.nomcur,
notas.semestre,
round(avg(notas.nota),3) as Promedio
FROM notas,
alumno,
curso
WHERE ( notas.codalu = alumno.codalu ) and
( notas.codcur = curso.codcur )
GROUP BY curso.nomcur,
notas.semestre
ORDER BY curso.nomcur ASC,
notas.semestre ASC
BASE DE DATOS
BASE DE DATOS
SELECT alumno.codalu,
alumno.nomalu,
round(sum(notas.nota * curso.creditos) / sum(curso.creditos),3) as
Prom_Ponderado
FROM alumno,
curso,
notas
WHERE ( curso.codcur = notas.codcur ) and
( ( notas.codalu = alumno.codalu ) )
GROUP BY alumno.codalu,
alumno.nomalu
ORDER BY alumno.codalu ASC
SELECT alumno.codalu,
alumno.nomalu,
sum(curso.creditos) As TotalCreditos
FROM alumno, curso, notas
WHERE ( curso.codcur = notas.codcur ) and
( ( alumno.codalu = notas.codalu ) AND
( notas.nota >= 11 ) AND
( alumno.codalu = '329' ) )
GROUP BY alumno.codalu,
alumno.nomalu
BASE DE DATOS
SELECT notas.semestre,
alumno.codalu,
alumno.nomalu,
round(sum(notas.nota * curso.creditos) / sum(curso.creditos),2) as Promedio
FROM alumno,
notas,
curso
WHERE ( alumno.codalu = notas.codalu ) and
( notas.codcur = curso.codcur )
GROUP BY notas.semestre,
alumno.nomalu,
alumno.codalu
ORDER BY 4 DESC,
alumno.nomalu ASC
BASE DE DATOS
II. PRACTICA 02
Con la Base de Datos Ejercicios2004 realizar las siguientes consultas:
1. Seleccionar la lista actual de productos. (Que no estn suspendidos)
SELECT productos.nombreproducto,
productos.suspendido
FROM productos
WHERE productos.suspendido = 0
ORDER BY productos.nombreproducto ASC
BASE DE DATOS
SELECT pedidos.idcliente,
count(pedidos.idpedido) as Cant_de_Pedidos
FROM pedidos
GROUP BY pedidos.idcliente
ORDER BY pedidos.idcliente ASC
BASE DE DATOS
SELECT categoras.nombrecategora,
count(productos.idproducto) AS Cant_de_Prod
FROM categoras,
productos
WHERE ( categoras.idcategora = productos.idcategora )
GROUP BY categoras.nombrecategora
ORDER BY categoras.nombrecategora ASC
SELECT categoras.idcategora,
categoras.nombrecategora,
count(detalles_de_pedidos.idpedido) as Cant_de_Pedidos
FROM categoras,
productos,
detalles_de_pedidos
WHERE ( categoras.idcategora = productos.idcategora ) and
( productos.idproducto = detalles_de_pedidos.idproducto )
GROUP BY categoras.idcategora,
categoras.nombrecategora
ORDER BY categoras.idcategora ASC
BASE DE DATOS
10
SELECT productos.idproducto,
productos.nombreproducto,
sum(detalles_de_pedidos.cantidad) as Total_Pedido
FROM detalles_de_pedidos,
productos
WHERE ( detalles_de_pedidos.idproducto = productos.idproducto )
GROUP BY productos.idproducto,
productos.nombreproducto
ORDER BY 3 DESC
BASE DE DATOS
11
SELECT detalles_de_pedidos.idpedido,
sum((detalles_de_pedidos.preciounidad * detalles_de_pedidos.cantidad) detalles_de_pedidos.descuento * (detalles_de_pedidos.preciounidad *
detalles_de_pedidos.cantidad)) as Monto_Total
FROM detalles_de_pedidos
GROUP BY detalles_de_pedidos.idpedido
ORDER BY detalles_de_pedidos.idpedido ASC
BASE DE DATOS
12
BASE DE DATOS
13
BASE DE DATOS
14
BASE DE DATOS
15
SELECT categoras.idcategora,
categoras.nombrecategora,
sum((detalles_de_pedidos.preciounidad * detalles_de_pedidos.cantidad) detalles_de_pedidos.descuento * (detalles_de_pedidos.preciounidad *
detalles_de_pedidos.cantidad)) as Monto_Total
FROM detalles_de_pedidos,
productos,
categoras
WHERE ( detalles_de_pedidos.idproducto = productos.idproducto ) and
( productos.idcategora = categoras.idcategora )
GROUP BY categoras.idcategora,
categoras.nombrecategora
ORDER BY 3 DESC
SELECT empleados.idempleado,
empleados.apellidos,
empleados.nombre
FROM empleados
WHERE empleados.nombre like '%a%'
ORDER BY empleados.idempleado ASC
BASE DE DATOS
16
SELECT productos.idproducto,
productos.nombreproducto,
productos.unidadesenexistencia
FROM productos
WHERE productos.unidadesenexistencia > 10
ORDER BY productos.unidadesenexistencia ASC
BASE DE DATOS
17