问题
单项选择题
查询选修了课程号为“MATHS”的学生的姓名和年龄,若用下列SQL的SELECT语句表达时,错误的是( )。
A.SEIECT SNAME, ADE FROM S WHERE S#=(SELECT S S# FROM SC WHERE C#='MATHS')
B.SELECT SNAME, AGE FROM S WHERE S#=(SELECT S S# FROM SC WHERE S C#='MATHS')
C.SELECT SNAME, AGE FROM S, SC WHERE S#=SS# AND S C#='MATHS' ORDER BY S#
D.SELECT SNAME, AGE FROMS, SC WHERE S#=SS# AND SC#='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'的条件查找。