BASE DE DATOS DE ESTUDIANTES
CONSULTAS 1. Obtenga la lista de estudiante con su nombre completo, documento de identidad, nombre, tipo documento, y ciudad de procedencia. SELECT (Estudiante.PrimerNombre&' '& Estudiante.SegundoNombre&' '& Estudiante.PrimerApellido&' '& Estudiante.SegundoApellido) AS N0MBRE, Estudiante.DocumentoIdentidad, TipoDocumento.nombre, Ciudad.Nombre FROM Estudiante, TipoDocumento, Ciudad WHERE Estudiante.IdCiudadNacimiento=Ciudad.Id AND Estudiante.IdTipoDoc=TipoDocumento.Id; 2. Obtenga la lista de estudiantes con la fecha y valor de matricula que ha pagado. SELECT (Estudiante.PrimerNombre&' '& Estudiante.SegundoNombre&' '& Estudiante.PrimerApellido&' '& Estudiante.SegundoApellido) AS N0MBRE, Matricula.Fecha, Matricula.Valor FROM Estudiante, Matricula WHERE Estudiante.Id=Matricula.IdEstudiante;
3. De cada departamento obtenga la cantidad de estudiantes matriculados. SELECT Count(Departamento.Id) AS totalEstudiantes, Departamento.Nombre FROM Estudiante, Ciudad, Departamento, Matricula WHERE Estudiante.IdCiudadNacimiento=Ciudad.Id AND Ciudad.IdDepto=Departamento.Id AND Estudiante.Id=Matricula.IdEstudiante GROUP BY Departamento.Nombre, Departamento.Id; 4. Obtenga la lista de estudiantes en cuya inscripción haya tenido observaciones. SELECT (Estudiante.PrimerNombre&' '& Estudiante.SegundoNombre&' '& Estudiante.PrimerApellido&' '& Estudiante.SegundoApellido) AS N0MBRE, Inscripcion.Observaciones FROM Estudiante, Inscripcion, Matricula WHERE Estudiante.Id=Matricula.IdEstudiante AND Matricula.Id=Inscripcion.IdMatricula AND Inscripcion.Observaciones is not null; 5. Obtenga la lista de materias inscritas por cada estudiante junto con la fecha en que inscribió cada materia. SELECT (Estudiante.PrimerNombre&' '& Estudiante.SegundoNombre&' '& Estudiante.PrimerApellido&' '& Estudiante.SegundoApellido) AS N0MBRE, Materia.Nombre, DetalleInscripcion.Fecha FROM Estudiante, Materia, DetalleInscripcion, Matricula, Inscripcion WHERE Estudiante.Id=Matricula.IdEstudiante AND Matricula.Id=Inscripcion.IdMatricula AND Inscripcion.Id=DetalleInscripcion.IdInscripcion AND DetalleInscripcion.IdMateria=Materia.Id; 6. Obtenga el total de notas de las materias inscritas por cada estudiante. SELECT Sum(Materia.HorasSemana) AS SumaDeHorasSemana, Estudiante.PrimerNombre FROM Estudiante, Materia, DetalleInscripcion, Matricula, Inscripcion WHERE Estudiante.Id=Matricula.IdEstudiante AND Matricula.Id=Inscripcion.IdMatricula AND Inscripcion.Id=DetalleInscripcion.IdInscripcion AND DetalleInscripcion.IdMateria=Materia.Id GROUP BY Estudiante.PrimerNombre; 7. Obtenga la cuenta de cuantos estudiantes se encuentran inscritos en cada materia. SELECT COUNT(Estudiante.Id) AS TOTALESTUDIANTE, Materia.Nombre FROM Estudiante, Materia, DetalleInscripcion, Matricula, Inscripcion WHERE Estudiante.Id=Matricula.IdEstudiante AND Matricula.Id=Inscripcion.IdMatricula AND
Inscripcion.Id=DetalleInscripcion.IdInscripcion AND DetalleInscripcion.IdMateria=Materia.Id GROUP BY Materia.Nombre;
8. Obtenga el valor total de las matriculas recibidas. SELECT SUM(Matricula.Valor) AS TOTALMATRICULAS FROM Matricula; 9. Obtenga el promedio de calificaciones para cada materia por estudiante. SELECT AVG(Calificacion.Nota) AS PROMEDIO, Estudiante.PrimerNombre, Materia.Nombre FROM Estudiante, Materia, DetalleInscripcion, Matricula, Inscripcion, Calificacion WHERE Estudiante.Id=Matricula.IdEstudiante AND Matricula.Id=Inscripcion.IdMatricula AND Inscripcion.Id=DetalleInscripcion.IdInscripcion AND DetalleInscripcion.IdMateria=Materia.Id AND DetalleInscripcion.Id=Calificacion.IdDetalleInscripcion GROUP BY Estudiante.PrimerNombre, Materia.Nombre; 10.Obtenga el promedio total por de calificaciones por estudiante. SELECT FORMAT (AVG(Calificacion.Nota),'#.#' ) AS PROMEDIO, Estudiante.PrimerNombre FROM Estudiante, Materia, DetalleInscripcion, Matricula, Inscripcion, Calificacion WHERE Estudiante.Id=Matricula.IdEstudiante AND Matricula.Id=Inscripcion.IdMatricula AND Inscripcion.Id=DetalleInscripcion.IdInscripcion AND DetalleInscripcion.IdMateria=Materia.Id AND DetalleInscripcion.Id=Calificacion.IdDetalleInscripcion GROUP BY Estudiante.PrimerNombre; 11.Obtenga la lista de estudiantes cuyo promedio sea superior a 5.5. SELECT FORMAT (AVG(Calificacion.Nota),'#.#' ) AS PROMEDIO, Estudiante.PrimerNombre FROM Estudiante, Materia, DetalleInscripcion, Matricula, Inscripcion, Calificacion WHERE Estudiante.Id=Matricula.IdEstudiante AND Matricula.Id=Inscripcion.IdMatricula AND Inscripcion.Id=DetalleInscripcion.IdInscripcion AND DetalleInscripcion.IdMateria=Materia.Id AND DetalleInscripcion.Id=Calificacion.IdDetalleInscripcion
GROUP BY Estudiante.PrimerNombre HAVING AVG(Calificacion.Nota)>5.5; 12.Obtenga la lista de estudiantes que solo tienen inscritas tres materias. SELECT Estudiante.PrimerNombre AS N0MBRE, COUNT(Materia.Nombre) AS MATERIAS FROM Estudiante, Materia, DetalleInscripcion, Matricula, Inscripcion WHERE Estudiante.Id=Matricula.IdEstudiante AND Matricula.Id=Inscripcion.IdMatricula AND Inscripcion.Id=DetalleInscripcion.IdInscripcion AND DetalleInscripcion.IdMateria=Materia.Id GROUP BY Estudiante.PrimerNombre HAVING COUNT(Materia.Nombre)=3;
13.Obtenga la lista de estudiantes que inscribieron materias en los últimos 15 días del mes de febrero. SELECT (Estudiante.PrimerNombre&' '& Estudiante.SegundoNombre&' '& Estudiante.PrimerApellido&' '& Estudiante.SegundoApellido) AS N0MBRE, DetalleInscripcion.Fecha FROM Estudiante, Materia, DetalleInscripcion, Matricula, Inscripcion WHERE Estudiante.Id=Matricula.IdEstudiante AND Matricula.Id=Inscripcion.IdMatricula AND Inscripcion.Id=DetalleInscripcion.IdInscripcion AND DetalleInscripcion.IdMateria=Materia.Id AND DetalleInscripcion.Fecha>#15/02/2009# AND DetalleInscripcion.Fecha<#28/02/2009#; 14.Obtenga la lista de estudiantes que pagaron una matrícula superior a $250.000. SELECT Estudiante.PrimerNombre, Matricula.Valor FROM Estudiante, Matricula WHERE Estudiante.Id=Matricula.IdEstudiante AND Matricula.Valor>120000; 15.Obtenga promedio de notas de cada estudiante por cada periodo. SELECT FORMAT (AVG(Calificacion.Nota),'#.#' ) AS PROMEDIO, Estudiante.PrimerNombre, Periodo.Nombre FROM Estudiante, Materia, DetalleInscripcion, Matricula, Inscripcion, Calificacion, Periodo WHERE Estudiante.Id=Matricula.IdEstudiante AND Matricula.Id=Inscripcion.IdMatricula AND Inscripcion.Id=DetalleInscripcion.IdInscripcion AND
DetalleInscripcion.IdMateria=Materia.Id AND DetalleInscripcion.Id=Calificacion.IdDetalleInscripcion AND Calificacion.IdPeriodo=Periodo.Id GROUP BY Estudiante.PrimerNombre, Periodo.Nombre, PERIODO.ID ORDER BY Estudiante.PrimerNombre, PERIODO.ID;