假定有三个关系,学生关系S、课程关系C和学生选课关系SC,它们的结构如下: S(S#,SN,Sex,Age,Dept),C(C#,CN),SC(S#,C#,Grade)。其中,S#为学生号,SN为姓名,Sex为性别,Age为年龄,Dept为系别,C#

admin2010-12-17  32

问题 假定有三个关系,学生关系S、课程关系C和学生选课关系SC,它们的结构如下:    S(S#,SN,Sex,Age,Dept),C(C#,CN),SC(S#,C#,Grade)。其中,S#为学生号,SN为姓名,Sex为性别,Age为年龄,Dept为系别,C#为课程号,CN为课程名,Grade为成绩。检索选修课程“C2”的学生中成绩最高的学生的学号,正确的SQL.语句是______。

选项 A、SELECT S#FROM SC    WHERE C#="C2" AND Grade IN  (SELECT Grade FROM SC WHERE C#="C2")
B、SELECT S# FROM SC    WHERE C#="C2" AND Grade>=  (SELECT Grade FROM SC WHERE C#="C2")
C、SELECT S# FROM SC    WHERE C#="C2" AND Grade>=ALL  (SELECT Grade FROM SC WHERE C#="C2")
D、SELECT S# FROM SC    WHERE C#="C2" AND Gtade NOT IN  (SELECT Grade FROM SC WHERE C#="C2")

答案C

解析 SELECT [ALL|DISTINCT]<目标列表达式>[,<目标列表达式>]…
   FROM <表名或视图名>[,<表名或视图名>]
   [WHERE <条件表达式>]
   [GROUP BY<列名1>[HAVING<条件表达式>]]
   [ORDER BY<列名2>[ASC|DESC]…]
   子句顺序为SELECT、FROM、WHERE、GROUP BY、HAVING、ORDER BY,但SELECT和FROM是必须的,HAVING子句只能与GROUP BY搭配起来使用。SELECT子句对应的是关系代数中的投影运算,用来列出查询结果中的属性,其输出可以是列名、表达式、集函数(AVG、COUNT、MAX、MIN、SUM),DISTINCT选项可以保证查询的结果集中不存在重复元组;FROM子句对应的是关系代数中的笛卡儿积,它列出的是表达式求值过程中须扫描的关系;WHERE子句对应的是关系代数中的选择谓词。
转载请注明原文地址:https://kaotiyun.com/show/IOxZ777K
0

相关试题推荐
最新回复(0)