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

15 查阅

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

A) SELECT SNAME,AGE FROM S WHERE S. S# =(SELECT SC. S# FROM SC WHERE

c.c# ='MATHS ')

B ) SELECT SNAME, AGE FROM S WHERE 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语句,为SELECTSC.S#FROMSCWHERESC.C#=‘MATHS’,即在SC表中按SC.C#=‘MATHS'的条件查找。

计算机三级