问题 单项选择题

查询选修了课程号为“MATHS”的学生的姓名和年龄,若用下列SQL的SELECT语句表达时,错误的是( )。

A.SELECT SNAME,AGE FROM S WHERE S.S#=(SELECT SC.S#}FROM SC WHERE C.C#='MATHS')

B.SELECT SNAME,AGEFROM SWHERE S.S#=(SELECT SC.S#}FROM SC WHERE SC.C#='MATHS')

C.SELECT SNAME,AGE FROM S, SC WHERE S.S#=SC.S# AND SC.C#='MATHS' ORDER BY S.S#

D.SELECT SNAME,AGE FROM S, SC WHERE S.S#=SC.S# AND SC.C#='MATHS'

答案

参考答案:A

解析: 有两种方式进行题干所述的查询:连接查询方式和带嵌套的简单查询方式。连接查询方式是在表S和SC中按照S.S#=SC.S#和SC.C#='MATHS'的条件查找。带嵌套的简单查询方式是先只查询s表,在WHERE子句中限定“选修了课程号为'MATHS'”。WHERE子句中又带简单查询的SELECT语句,为SELECT SC.S# FROM SC WHERE SC.C#='MATHS',即在SC表中按SC.C#='MATHS'的条件查找。

单项选择题
单项选择题