Anda di halaman 1dari 6

“Año del Diálogo y la

Reconciliación Nacional”

24-1- CONSULTAS SQL


“BASE DE DATOS”
2018

Curso: Base De Datos


Facultad: Ing. De Sistemas e informáticas
Profesor: José Edgard García Díaz
Institución: Universidad Nacional de la
Amazonia Peruana
Ciclo: IV
Nivel. 3
Integrantes:
 Dávila Panduro, Alvaro Miguel
 Del Águila Shermuly, Elton Jamil
 Bollet Lanchi, Fredy Brian
 Fernández Hoyos, Miguel

Iquitos-Perú
EJERCICIO 1:
Listar código de los alumnos, nombre del alumno cuya profesión es estudiante y
empiezan con la letra ¨e¨ hasta la ¨z¨ y a sus profesores y cursos (ordenar por alumno)

SELECT NOMBRE_COMPLETO as [NOMBRE ALUMNO], NOM_PROFESOR, nom_curso

FROM PROFESOR AS pro inner join GRUPOS as g

on pro.ID_PROFESOR = g.ID_PROFESOR inner join CURSOS as c

on g.ID_CURSOS= c.ID_CURSOS inner join MATRICULAS as m

on c.ID_CURSOS= m.ID_CURSOS inner join ALUMNO as a

on m.ID_ALUMNO= a.ID_ALUMNO

WHERE profesión = ‘estudiante’ and nombre_completo LIKE '[E-Z]%'

ORDER BY [NOMBRE ALUMNO]

EJERCICIO 2

Mostrar las clases que se dictan en las fechas entre 2018-05-01 y 2018-10-31 a los
profesores que los dictaran, los horarios y las aulas en las que se impartirán las clases.

SELECT NOMBRE_GRUPO, fecha_ini, gr.fecha_fin, NOM_PROFESOR, L_M_X_J_V, HORA_INICIO, HORA_FIN,


AULA

FROM GRUPOS AS gr inner join PROFESOR as pr

on gr.ID_PROFESOR = pr.ID_PROFESOR

inner join HORARIO as hr on gr.ID_GRUPOS= hr.ID_GRUPOS

where fecha_ini between '02/05/2018' and '03/10/2018'

pág. 1
EJERCICIO 3

Mostrar el id, nombre y el top 10 de alumnos que sacaron mayor nota en sus
promedios de los alumnos que no hayan tenido faltas (ordenar promedio de forma
descendente)

SELECT TOP 10 A.ID_ALUMNO, NOMBRE_ALUMNO,ASISTE, AVG(NOTAS) AS PROMEDIO

FROM ALUMNO AS A INNER JOIN [Notas Alumno] AS NA

ON A.ID_ALUMNO = NA.ID_ALUMNO inner join ASISTENCIA AS ASI

ON A.ID_ALUMNO= ASI.ID_ALUMNO

WHERE Asiste = 'SI'

GROUP BY A.ID_ALUMNO, NOMBRE_ALUMNO, ASISTE

ORDER BY PROMEDIO DESC

EJERCICIO 4
Mostrar a los alumnos que pertenecen a la ciudad de Iquitos y Lima y que sus nota
promedio es mayor igual a 15 y sus nombre inicie desde la b hasta la r (ordenado por
nombre del alumno)

SELECT na.ID_ALUMNO, NOMBRE_ALUMNO, CIUDAD, AVG(NOTAS) AS PROMEDIO


FROM [Notas Alumno] as na
INNER JOIN ALUMNO AS al on na.ID_ALUMNO= al.ID_ALUMNO
WHERE CIUDAD IN ('IQUITOS', 'LIMA') AND nombre_alumno LIKE '[B-R]%'
GROUP BY na.ID_ALUMNO, NOMBRE_ALUMNO , CIUDAD
HAVING AVG(NOTAS) >=15
ORDER BY nombre_alumno

pág. 2
EJERCICIO 5
Mostrar el id, el nombre de los alumnos que faltaron, la razón por la que faltaron y los
cursos a los que faltaron donde los cursos estén entre los meses de marzo y octubre

SELECT AL.ID_ALUMNO, nombre_alumno, NOMBRE AS Motivo_Falta , NOM_CURSO, fecha_inicio


FROM ALUMNO AS AL INNER JOIN ASISTENCIA AS ASI
ON AL.ID_ALUMNO = ASI.ID_ALUMNO INNER JOIN CLASES AS CL
ON ASI.ID_CLASES= CL.ID_CLASES INNER JOIN TIPO_DE_CANCELACION AS TC
ON CL.ID_TC= TC.ID_TC INNER JOIN MATRICULAS AS MA
ON MA.ID_ALUMNO = AL.ID_ALUMNO INNER JOIN CURSOS AS CU
ON MA.ID_CURSOS= CU.ID_CURSOS
WHERE fecha_inicio BETWEEN '2018-05-02'and '2018-08-01'
AND nombre_alumno NOT LIKE '%[c-q]'

EJERCICIO 6
MOSTRAR EL CODIGO, NOMBRES, LA SUMA (QUE SEA MAYOR A 20) Y EL PROMEDIO (QUE SEA MAYOR A 15)
DE LAS NOTAS POR ALUMNO DONDE EL CODIGO DEL ALUMNO SEA DIFERENTE DE ‘4,7,12,17, 20’, EL
NOMBRE DEL ALUMNO NO COMIENCE CON ‘R’, EL CODIGO DEL GRUPO ESTE ENTRE 1 Y 9 , EL MES DE LA
FECHA DE INICIO SEA 8. ORDENAR EN FORMA DESCENDENTE

SELECT NA.ID_ALUMNO, NOMBRE_COMPLETO AS [NOMBRE ALUMNO] , SUM(NOTAS) AS


SUMA_NOTAS, AVG(NOTAS) AS PROMEDIO
FROM [Notas Alumno] AS NA INNER JOIN ALUMNO AS A
ON NA.ID_ALUMNO= A.ID_ALUMNO INNER JOIN CURSOS AS CU ON NA.ID_CURSOS =
CU.ID_CURSOS
INNER JOIN GRUPOS AS GR ON CU.ID_CURSOS= GR.ID_CURSOS
WHERE NA.ID_ALUMNO NOT IN (4,7,12,17, 20) AND nombre_alumno NOT LIKE 'R%' AND
ID_GRUPOS BETWEEN 1 AND 9 AND DATEPART (MM,GR.FECHA_INICIO)='08'
GROUP BY NA.ID_ALUMNO,NOMBRE_COMPLETO
HAVING SUM(NOTAS) >20 AND AVG(NOTAS) >15
ORDER BY SUMA_NOTAS, PROMEDIO DESC

pág. 3
EJERCICIO 7

MOSTRAR LAS CIUDADES CON LA CANTIDAD DE ESTUDIANTES QUE TIENEN .

SELECT CIUDAD, COUNT(ID_ALUMNO) AS ALUMNOS_POR_CIUDAD FROM ALUMNO


GROUP BY CIUDAD
ORDER BY ALUMNOS_POR_CIUDAD DESC

EJERCICIO 8
MOSTRAR CUANTOS ESTUDIANTES HAY POR CADA CURSO, MIENTRAS QUE EL TOTAL DE ESTUDIANTES SEA
MAYOR IGUAL A 5 Y EXONERANDO AL LOS CURSOS CON ID 4,2,8 MOSTRAR EL CODIGO DEL CURSO, EL
NOMBRE DEL CURSO, TOTAL DE ESTUDIANTES.

SELECT MA.ID_CURSOS,NOM_CURSO, COUNT(MA.ID_ALUMNO) AS [TOTAL ESTUDUANTES POR


CURSO ]
FROM MATRICULAS AS MA INNER JOIN CURSOS AS CU
ON MA.ID_CURSOS= CU.ID_CURSOS
WHERE MA.ID_CURSOS NOT IN (4,2,8)
GROUP BY MA.ID_CURSOS ,NOM_CURSO
HAVING COUNT(MA.ID_ALUMNO)>=5
ORDER BY [TOTAL ESTUDUANTES POR CURSO ] DESC

pág. 4
EJERCICIO 9
MOSTRAR CUALES SON LOS ALUMNOS QUE TIENEN CLASES EN LAS TARDES Y LLEVAN EL CURSO DE PIANO,
TROMPETA Y CANTO, LOS DIAS, LOS PROFESORES MIENTRAS QUE TENGAN GMAIL COMO CORREO
ELECTRONICO, QUE SEAN DE IQUITOS Y AREQUIPA. MOSTRAR:

‘ID ALUMNO, NOMBRE_ALUMNO, CURSOS EN LA TARDE, AULA, DIAS, HORA, PROFESORES, CIUDAD Y
CORREO’

SELECT AL.ID_ALUMNO, AL.NOMBRE_ALUMNO, CU.NOM_CURSO,AULA, L_M_X_J_V, HORA_INICIO,


HORA_FIN, NOM_PROFESOR, AL.CIUDAD, E_mail
FROM ALUMNO AS AL INNER JOIN MATRICULAS AS MA
ON AL.ID_ALUMNO = MA.ID_ALUMNO INNER JOIN CURSOS AS CU
ON MA.ID_CURSOS = CU.ID_CURSOS INNER JOIN GRUPOS AS GR
ON CU.ID_CURSOS = GR.ID_CURSOS INNER JOIN HORARIO AS HR
ON GR.ID_GRUPOS= HR.ID_GRUPOS INNER JOIN PROFESOR AS PRO
ON HR.ID_PROFESOR = PRO.ID_PROFESOR
WHERE HORA_INICIO = '15:00'
AND nom_curso IN ('PIANO','TROMPETA', 'CANTO')
AND E_MAIL LIKE '%GMAIL%' AND CIUDAD IN ('IQUITOS', 'AREQUIPA')

EJERCICIO 10
LISTAR LOS ALUMNOS QUE JALARON EN EL PROMEDIO DE SUS NOTAS.
MOSTRAR: ID_ALUMNO, NOMBRE_COMPLETO, PROMEDIO_JALADOS

SELECT AL.ID_ALUMNO, nombre_completo AS [NOMBRES ALUMNO],


AVG(NOTAS) AS PROMEDIO_JALADOS
FROM [Notas Alumno] NA INNER JOIN ALUMNO AL
ON NA.ID_ALUMNO= AL.ID_ALUMNO
GROUP BY AL.ID_ALUMNO, nombre_completo
HAVING AVG(NOTAS) <=10

ORDER BY PROMEDIO_JALADOS DESC

pág. 5

Anda mungkin juga menyukai