给定三个表学生表S,课程表C和学生选课表SC,它们的结构分别如下:
S(S#,SN,SEX,AGE,DEPT)
C(C#,CN)
SC(S#,C#,GRADE)
其中S#为学号,SN为姓名,SEX为性别,AGE为年龄,DEPT为系别,C#为课程号,CN为课程名,GRADE为成绩。对表SC建立如下视图:CREATE VIEW S_GRADE(S#,C_NUM,AVG_GRADE)AS SELECT S#,COUNT(C#),AVG(GRADE)FROM SCGROUP BY S#;判断下面查询是否允许执行,如允许,写出转换到基本表SC上的操作。SELECT S#,C_NUMFROM S_GRADEWHERE AVG_GRADE80()。
A、不允许查询,因为视图中使用了分组和聚合函数。
B、允许,对应的操作为:
SELECT S#,COUNT(C#)
FROM SC
WHERE AVG(GRADE)80
C、允许,对应的操作为:
SELECT S#,COUNT(C#)
FROM SC
GROUP BY S#
HAVING AVG(GRADE)80
D、允许,对应的操作为:
SELECT S#, COUNT(C#)
FROM SC
HAVING AVG(GRADE)80
答案不对?请尝试站内搜索