A-A+
设有关系S(SNO SNAME SEX) C(CNO CNAME) SC(SNO CNO G
问题详情
设有关系S(SNO,SNAME,SEX),C(CNO,CNAME),SC(SNO,CNO,GRADE)。其中SNO为学生号,SNAME为学生姓名,SEX为性别,CNO为课程号,CNAME为课程名。要查询选修“计算机”课的全体女学生姓名的SQL语句是SELECTSNAMEFROMS,C,SC WHERE子句。这里WHERE子句的内容是
A.S.SNO=SC.SNO andSEX="女"andCNAME="计算机"
B.S.SNO=SC.SNO andC.CNO=SC.CNO andCNAME="计算机"
C.SEX="女"andCNAME="计算机"
D.S.SNO=SC.SNO andC.CNO=SC.CNO andSEX="女"andCNAME="计算机"请帮忙给出正确答案和分析,谢谢!
参考答案
正确答案:D
解析:本题涉及三个表的连接查询,需要求的是WHERE后面的连接条件,首先连接S与SC表,连接条件为S.SNO=SC.SNO;然后再连接C表和SC表,连接条件为C.CNO=SC.CNO。这样就可以将三个表连接起来,但是分析题意,同时还要在连接后所形成的表中满足SEX='女'和CNAME='计算机'。通过以上分析,连接是同时满足的关系,故应用'AND'连接。因此,WHERE子句内容应为:S.SNO=SC.SNOandC.CNO=SC.CNOandSEX='女'andCNAME='计算机'。