Considere la base de datos relacional con los siguientes cuatro esquemas y sus respectivas instancias.
Estudiante(sNo, sNombre, dNo) Departamento(dNo, dNombre)
Curso(cNo, cNombre, dNo) Registro(sNo, cNo)
Consulta SQL:
SELECT * FROM Student AS S WHERE NOT EXIST (SELECT cNo FROM Course WHERE dNo = “D01” EXCEPT SELECT cNo FROM Register WHERE sNo = S.sNo)
El número de filas devueltas por la consulta SQL anterior es___________.
(A)
4
(B)
3
(C)
2
(D)
0
Respuesta: (C)
Explicación:
La consulta dada está correlacionada, por lo tanto, para cada valor de S.sno, ejecutaremos la consulta interna.
La consulta interna tendrá {C11, C12} EXCEPTO {C11, C12} = relación vacía para sno = S01.
Como consecuencia, las cláusulas que no sean inexistentes devolverán verdadero, y la tupla tih sno = S01 se agregará a la relación resultante.
De manera similar, para sno = S02, la consulta interna tendrá {C11, C12} EXCEPTO {C11} = {C12}
La cláusula inexistente devolverá falso y la relación resultante no la incluirá. Buscaremos otros problemas de la misma manera. Esta consulta devolverá las tuplas que están inscritas en todos los cursos del departamento D01. Esta consulta devolverá las tuplas que están inscritas en todos los cursos ofrecidos por el departamento D01.
Así, habrá 2 tuplas en la relación resultante:
mocoso | nombre de | dno |
S01 | Jaime | D01 |
S04 | jane | D01 |
Por lo tanto, la respuesta correcta es 2.
Cuestionario de esta pregunta
Comente a continuación si encuentra algo incorrecto en la publicación anterior
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