问题
单项选择题
查询选修了课程号为“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'的条件查找。