Está en la página 1de 4

Uno:

--Análisis de docentes por camada:


--Número de documento, nombre de docente y camada para identificar la camada mayor y
la menor según el numero de la camada.
--Número de documento, nombre de docente y camada para identificar la camada con fecha
de ingreso Mayo 2021.
--Agregar un campo indicador que informe cuales son los registros ”mayor o menor” y
los que son “Mayo 2021” y ordenar
--el listado de menor a mayor por camada.

--

select Documento, Concat(Nombre,' ',Apellido) as [Nombre docente], Camada, [Fecha


ingreso], 'Maximo' as Marca from Staff
where Camada = (select max(Camada) from Staff)
union
select Documento, Concat(Nombre,' ',Apellido) as [Nombre docente], Camada, [Fecha
ingreso], 'Mayo' as Marca from Staff
where year([Fecha Ingreso]) = 2021 and month([Fecha Ingreso]) = 05
union
select Documento, Concat(Nombre,' ',Apellido) as [Nombre docente], Camada, [Fecha
ingreso], 'Minimo' as Marca from Staff
where Camada = (select min(Camada) from Staff)
order by Camada asc

Dos:
--Análisis diario de estudiantes:
--Por medio de la fecha de ingreso de los estudiantes identificar: cantidad total de
estudiantes.
--Mostrar los periodos de tiempo separados por año, mes y día, y presentar la
información ordenada
--por la fecha que mas ingresaron estudiantes.

--

select yeaR([Fecha Ingreso]) as Año, month([Fecha Ingreso]) as Mes, Day([Fecha


Ingreso])as Día,
Count(EstudiantesID) as Cuenta from Estudiantes
group by [Fecha Ingreso]
order by Cuenta desc

Tres:
--Análisis de encargados con mas docentes a cargo:
--Identificar el top 10 de los encargados que tiene más docentes a cargo, filtrar solo
los que tienen a cargo docentes.
--Ordenar de mayor a menor para poder tener el listado correctamente.

--

select top (10) Encargado_ID as [ID], concat(E.Nombre,' ',E.Apellido) as Nombre,


E.Documento, count(Staff.DocentesID) as Cuenta
from Encargado as E left join Staff on
Staff.Encargado = E.Encargado_ID
where Tipo like '%Docentes%'
group by E.Encargado_ID, E.Nombre,E.Apellido,E.Documento
order by Cuenta desc

Cuatro:
--Análisis de profesiones con mas estudiantes:
--Identificar la profesión y la cantidad de estudiantes que ejercen,
--mostrar el listado solo de las profesiones que tienen mas de 5 estudiantes.
--Ordenar de mayor a menor por la profesión que tenga mas estudiantes.

--

select Profesiones, count(EstudiantesID) as Cuenta from Profesiones as P


left join Estudiantes as E on P.ProfesionesID=E.Profesion
group by P.Profesiones
having count(EstudiantesID) > 5
Order by Cuenta desc

Cinco:
--Análisis de estudiantes por área de educación:
--Identificar: nombre del área, si la asignatura es carrera o curso , a qué jornada
pertenece,
--cantidad de estudiantes y monto total del costo de la asignatura.
--Ordenar el informe de mayor a menor por monto de costos total tener
--en cuenta los docentes que no tienen asignaturas ni estudiantes asignados, también
sumarlos.

--

select A.Nombre, Asig.Tipo, Asig.Jornada, count(E.EstudiantesID) as [Cantidad


estudiantes],
sum(Asig.Costo) as Suma from Asignaturas as Asig
inner join Area as A on A.AreaID=Asig.Area
left join Staff on Staff.Asignatura=Asig.AsignaturasID
left join Estudiantes as E on E.Docente=Staff.DocentesID
group by A.Nombre,Asig.Tipo,Asig.Jornada
order by Suma desc

Táctico

Uno:
--Análisis mensual de estudiantes por área:
--Identificar para cada área: el año y el mes (concatenados en formato YYYYMM),
--cantidad de estudiantes y monto total de las asignaturas.
--Ordenar por mes del más actual al más antiguo y por cantidad de clientes de mayor a
menor.

--

select A.Nombre as [Nombre área], format(E.[Fecha Ingreso],'yyyyMM') as Periodo,


count(E.EstudiantesID) as [Cantidad estudiantes],
sum(Asig.Costo) as Suma from Asignaturas as Asig
inner join Area as A on A.AreaID=Asig.Area
inner join Staff on Staff.Asignatura=Asig.AsignaturasID
inner join Estudiantes as E on E.Docente=Staff.DocentesID
group by A.Nombre,format(E.[Fecha Ingreso],'yyyyMM')
order by Periodo desc,count(E.EstudiantesID) desc

Dos:
--Análisis encargado tutores jornada noche:
--Identificar el nombre del encargado, el documento, el numero de la camada (solo el
numero)
--y la fecha de ingreso del tutor. Ordenar por camada de forma mayor a menor.
--

select S.Apellido as [Apellido docente],concat(E.Nombre,' ',E.Apellido) as


Encargado,E.Documento as [DNI Encargado],right(S.Camada,5) as [Camada],S.[Fecha
ingreso] from Encargado as E
right join Staff as S on S.Encargado=E.Encargado_ID

Tres:
--Análisis asignaturas sin docentes o tutores:
--Identificar el tipo de asignatura, la jornada, la cantidad de áreas únicas
--y la cantidad total de asignaturas que no tienen asignadas docentes o tutores.
--Ordenar por tipo de forma descendente.

--

select A.Tipo,A.Jornada,count(distinct A.Area) as [Cantidad Areas],count(A.Nombre) as


[Cantidad Asignaturas] from Asignaturas as A
left join Staff as S on S.Asignatura = A.AsignaturasID
where DocentesID is null
group by A.Tipo,A.Jornada
order by A.Tipo desc

Cuatro:
--Análisis asignaturas mayor al promedio:
--Identificar el nombre de la asignatura, el costo de la asignatura y el promedio del
costo de las asignaturas por área.
--Una vez obtenido el dato, del promedio se debe visualizar solo las carreras que se
encuentran por encima del promedio.

--

select Nombre, Costo, A.Area,Q.avgcosto as [Promedio area] from Asignaturas as A


left join(select Area,left(round(avg(costo),3),5) as avgcosto from Asignaturas
group by Area) as Q on Q.Area=A.Area
where Q.avgcosto<A.Costo

Cinco:
--Identificar el nombre, documento, el área, la asignatura y el aumento del salario
del docente,
--este ultimo calcularlo sacándole un porcentaje al costo de la asignatura, todos las
áreas tienen
--un porcentaje distinto, Marketing-17%, Diseño-20%, Programacion-23%, Producto-13%,
Data-15%, Herramientas 8%

--

select
t1.Nombre,
t1.Documento,
t3.Nombre as area,
t2.Nombre as asignaturas,
cast((costo * CASE WHEN t3.Nombre like ('%Marketing%') THEN 0.17
WHEN t3.Nombre like ('%Diseno%') THEN 0.20
WHEN t3.Nombre like ('%Programacion%') THEN 0.23
WHEN t3.Nombre like ('%Producto%') THEN 0.13
WHEN t3.Nombre like ('%Data%') THEN 0.15
WHEN t3.Nombre like ('%Herramientas%') THEN 0.08 END
)as decimal(7,3)) as Salario
from Staff t1
left join Asignaturas t2 on t1.Asignatura=t2.AsignaturasID
inner join area t3 on t2.Area=t3.AreaID
ORDER BY Nombre

También podría gustarte