问题 单项选择题

有关系S(S#,SNAME,SEX),C(C#,CNAME),SC(S#,C#)。其中S#为学生号, SNAME为学生姓名,SEX为性别,C#为课程号,CNAME为课程名。要查询选修“计算机文化”课的全体男学生姓名的SQL语句是:
SELECT SNAME FROM S,C,SC WHERE

A.S#=SC.S# AND SEX='男'AND CNAME='计算机文化'

B.S#=SC.S# AND C.C#=SC.C# AND CNAME='计算机文化'

C.SEX='女'AND CNAME='计算机文化'

D.S#=SC.S# AND C.C#=SC.C# AND SEX='男'AND CNAME='计算机文化'

答案

参考答案:D

解析:本题涉及3个表的连接查询,需要我们解决的是WHERE后面的连接条件。首先连接表S与SC,连接条件为S.S#=SC.S#;然后再连接表C和SC,连接条件为C.C#=SC.C#。这样就可以将3个表连接起来。但是分析题意,同时还要在连接后所形成的表中满足条件“SEX='男'和CNAME='计算机文化'”。通过以上分析,连接是同时满足的关系,故应用“AND”连接,因此,WHERE子句内容应为“S.S#=SC.S # ANDC.C#=SC.C# AND SEX='男'AND CNAME='计算机文化'”。

选择题
单项选择题