De qué trata este documento
Ver el texto · 388 palabras
-- Ejercicio 1:
-- Mostrar la cantidad de cursos por cada institucion mostrar el nombre y la cantidad de cursos
select I.nombre as Nombre,
count(*) as Total_de_cursos
from Instituciones I
left join Cursos C
on C.institucionI=I.institu
group by I.nombre
----------------------------------------------------------
-- Ejercicio 2:
Mostrar la lista de instituciones que no tinen ningun cursos asociado.Para cada Institucion
mostrar el codigo ID y nombre
select I.iNSTITUCONI,
I.Nombre
from Institucion I
left join Cursos C
on C.institu=I.institucionI
where I.codigo_institucion is null
------------------------------------------
-- Ejercicio 3:
Mostrar la lista de estudiantes que no han hecho ninguna tarea de tareas.Para cada estudiante,
mostrar su nombre y la fecha de regristros
select E.nombre as Nombre_estudiante,
ET.fechaEntre as Fecha_de_Regristro
from Tarea T
left join EntregaTarea ET
on ET.TareaID=T.TareaI
left join Estudiante E
on E.Estudi=ET.EstudianteI
where ET.Contenido is null
------------------------------------------------------------------------
-- Ejercicio 4:
Mostrar la lista de estudiantes con la calificacion promedio mas alta.Para cada estudiante,
mostrar el nombre y el promedio de calificaciones
select E.nombr as Nombre_estudiante ,
avg(C.not) as Promedio_calificaciones
from Estudiante E
inner join Calificacion C
on E.Estudi=C.Estu
group by E.nombr
having avg(C.not) =(select
max(C1.not) as Promedio_notas
from Estudiantes E1
inner join Calificacion C1
on E1.EstudianteID=C1.EstudianteID
where E1.Estudi=E.estudi
);
----------------------------------------------------------------------------
--- Pregunta 5:
-- Mostrar la lista de instituciones con la mayor cantidad de inscripciones a cursos.
-- Para cada Institucion,mostrar el coigo,nombre y el total de inscripciones
select I.Nombre as Nombre_Institucion,
I.InstitucionI as Codigo_Institucion,
count(*) as Maximo_numero_de_Instituciones
from Instituciones I
Inner join Cursos C
on I.institucionI=C.Institu
Inner Join InscripcionCurso IC
on IC.CursoID=C.CursoI
group by I.Nombre ,I.InstitucionI
having count(*) =(select
max(I1.InstitucionI)
from Institucion I1
Inner join Curso C1
on I1.institucionI=C1.Institu
Inner Join Inscripcion_Curso IC1
on IC1.CursoID=C1.CursoI
where I1.InstitucionI=I.InstitucionI
)
-- Ejercicio 6:
Crear un procedimiento que regristre una nueva entrega de tarea.El procedimiento debe recibir
como parametros
el codigo de la tarea,codigoestudiante,fecha de entrega y el contenido.Debe validar que la tarea y el
estudiante […]
para esa combinacion de tarea y estudiante.En caso de que alguna validacion no se cumpla,el
procedimiento debe interrumpir su ejecucion y mostrar
un mensaje de eror informativo correspondiente al problema detectado
create procedure spRegistrodetarea
(
@Codigotarea int
@Codigoestudiante int
@fechaentrega date
@contenido text
as
begin trans
insert into values(@codigotarea,@codigoestudiante,@fechaentrega,@contenido )
begin
if (@codigotarea=TareaID or @codigo<=0,
print 'Hubo un error de datos de entrada')
if (@codigoestudiante=Estudi or @codigoestudiante<=0
print 'Hubo error de dato de entrada
if( @Fechaentrega=FechaEntre,
@Contenido=Contenido)
)
El documento completo, con sus imágenes y su formato, está más arriba.
Antes de ponerte a estudiar, mira con quién te conviene llevar el curso: estas son las calificaciones que le pusieron otros estudiantes de UPC.