问题
单项选择题
已知关系模式:sc(sno,sname,grade),各属性含义依次为学号、课程名、分数。要查找“数据库,,课分数最高的学生的学号,正确的SQL语句是______。
A.SELECT sno FROM SC WHERE sname="数据库"AND grade=MAX(grade)
B.SELECT sno FROM SC FOR sname="数据库"OR grade>MAX(grade)
C.SELECT sno FROM SC WHERE shame="数据库"AND grade=(SELECT MAX(grade)FROM sc)
D.SELECT son FROM SC FOR sname="数据库"OR grade=(SELECT MAX(grade. FROM sc)
答案
参考答案:C
解析: 本题考查学生SQL语言中查询语句(SELECT)的结构以及聚集函数的使用。SELECT句的基本结构是SELECT...FROM...WHERE...,所以选项B、D是错误的,另外根据题意,这两个选项中的逻辑运算OR也是错误的。选项A中聚集函数MAX()的使用也是错误的,因为函数MAX(grade)的值必须将表SC中的记录全部扫描之后才能计算出来,因此必须使用子查询的方式首先将该函数的值计算出来。