Considere el siguiente esquema relacional:
STUDENT(SNO, SNAME, DEPT) ENROLL(CNO, SNO, GRADE) COURSE(CNO, DEPT) PREREQ(CNO, PNO)
Las claves están subrayadas. La columna INSCRIBIRSE(SNO) es una clave externa que hace referencia a ESTUDIANTE(SNO). Todas las apariciones de las columnas CNO y PNO, excepto la de CURSO, son claves foráneas que hacen referencia a CURSO(CNO).
SELECT E1.CNO, S.SNAME FROM ENROLL E1, STUDENT S WHERE E1.SNO = S.SNO AND NOT EXISTS ( SELECT * FROM ENROLL E2 WHERE E2.CNO = E1.CNO AND E2.GRADE > E1.GRADE )
¿Cuál es el resultado de la consulta?
(A) Para cada curso, devuelva los nombres de los estudiantes con la puntuación más alta.
(B) Para cada estudiante, devuelva los nombres de los cursos.
(C) Para cada curso, devuelva los nombres de los estudiantes que nunca obtuvieron las calificaciones más altas.
(D) Ninguno de estos.
Respuesta: (A)
Explicación: Dada la consulta SQL,
SELECT E1.CNO, S.SNAME FROM ENROLL E1, STUDENT S WHERE E1.SNO = S.SNO AND NOT EXISTS ( SELECT * FROM ENROLL E2 WHERE E2.CNO = E1.CNO AND E2.GRADE > E1.GRADE )
Devuelve los nombres de los estudiantes con la puntuación más alta, para cada curso.
La opción (A) es correcta.
Publicación traducida automáticamente
Artículo escrito por GeeksforGeeks-1 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA