学生选课关系模式为SC(Sno,Cno,Grade),其中Sno为学号,Cno为课程号,Grade为成绩,SQL查询语句如下: SELECT Sno FROM SC SCX WHERE NO

admin2019-05-04  25

问题 学生选课关系模式为SC(Sno,Cno,Grade),其中Sno为学号,Cno为课程号,Grade为成绩,SQL查询语句如下:
       SELECT Sno
            FROM SC SCX
            WHERE   NOT   EXISTS
         (SELECT  *
          FROM SC SCY
          WHERE SCY.Sno=’1042’  AND NOT EXISTS
              (SELECT *
                FROM SC SCZ
                WHERE SCZ.Sno=SCX.Sno AND SCZ.Cno=SCY.Cno));
    与该查询等价的元组演算表达式为{t|(54)(Sc(u)∧SC(v)∧(55)∧t[1] =u[1])。

选项 A、
B、
C、
D、

答案A

解析 根据SQL语句,我们可以判定该SQL语句的功能是“查询至少选修了学生1042选修的全部课程的学生学号”。本查询可以看成是查询学号为X的学生,对所有的课程Y,只要1042学生选修了课程Y,则X也选修了Y。实现的方法是通过双重否定:“不存在这样的课程Y,学生1042选修了Y,而学生X没有选”。
   在给出的元组表达式中,只要找出t、u、v和w所代表元组的含义,就很容易对应SQL语句了。显然,t和u代表SCX中的元组,v代表SCY中的元组,w代表SCZ中的元组。
转载请注明原文地址:https://jikaoti.com/ti/YwJ7FFFM
0

最新回复(0)