Code icon

MySQL - VIEWS

Links


    //VIEWS
    CREATE VIEW vwAlumnosDel811nma ("Apellidos del Alumno", "Nombre", "Código del Grupo")
    AS SELECT APELLIDOS, NOMBRE, IDGRUPO FROM ALUMNO WHERE idGrupo = '811nma'
    WITH CHECK OPTION
    GO

    SELECT * FROM vwAlumnosDel811nma
    INNER JOIN NOTA ON Nota.idAlumno = vwAlumnosDel811nma.idAlumno


    --Crear vista de los alumnos de grupo “913NMA”
    CREATE VIEW vwAlumnos913NMA ("No usar *")
    AS SELECT * FROM ALUMNO WHERE idGrupo = '913NMA'

    GO

    //--Crear vista con los tutores de todos los grupos (codigo grupo, nombre tutor)
    CREATE VIEW vwTutoresAll ("idGrupo", "nombre")
    AS SELECT G.idGrupo, P.Nombre FROM Grupo G INNER JOIN Profesor P ON G.idProfesorTutor = P.idProfesor

    GO

    //--Crear vista con las notas de los alumnos del grupo “913nma”.(Apellidos,nombre,Nombre asignatura, nota)
    CREATE VIEW notassGrupo913nma
    AS SELECT A.Apellidos, A.Nombre, AG.Denominacion, N.Nota FROM ALUMNO A  
    INNER JOIN Nota N ON A.idAlumno = N.idAlumno 
    INNER JOIN Asignatura AG ON N.idAsignatura = AG.idAsignatura
    WHERE idGrupo = '913NMA'

    GO

    //--Crear vista para ver los profesores que imparte clases al grupo “913NMA”(Nombre profesor, nombre asignatura)
    CREATE VIEW profesoresGrupo913nma
    AS SELECT P.Nombre, AG.Denominacion FROM Profesor P 
    INNER JOIN AsignaturasGrupo ASG ON P.idProfesor = ASG.idProfesor 
    INNER JOIN Asignatura AG ON ASG.idAsignatura = AG.idAsignatura
    WHERE idGrupo = '913NMA'

    GO

    //--Utilizando una vista que nos de los alumnos del Sauzal, hacer una consulta que nos de la cantidad de alumnos del Sauzal con todo aprobado.

    CREATE VIEW alumnossSauzal
    AS SELECT * FROM Alumno 
    WHERE Municipio LIKE '%SAUZAL'

    GO

    SELECT COUNT(ASa.idAlumno) FROM alumnosSauzal ASa
    WHERE EXISTS (SELECT * FROM NOTA N WHERE ASa.idAlumno = N.idAlumno)
    AND NOT EXISTS (SELECT * FROM NOTA N WHERE ASa.idAlumno = N.idAlumno AND Nota < 5)

    GO


    //--Hacer una vista que nos permita modificar las notas del alumno PEPA ACOSTA PEREZ


    //--Hacer una vista que nos de de la nota media de los alumnos de cada municipio.

    GO
    CREATE VIEW NotaMediaMunicipio ("municipio", "Nota media")
    AS
        SELECT A.Municipio, AVG(CAST(N.Nota AS float)) AS "NotaMedia" FROM Nota N INNER JOIN 
        Alumno A ON N.idAlumno = A.idAlumno 
        GROUP BY A.Municipio
        ORDER BY 2

     SELECT * FROM vwNotaMediaMunicipio