已知关系模式: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中的记录全部扫描之后才能计算出来,因此必须使用子查询的方式首先将该函数的值计算出来。