PUERTA | CS 2022 | Pregunta 56

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *