问答题
阅读以下说明和关系表,回答问题1~5,将解答填入对应的解答栏内。
[说明]
试用SQL查询语句表达下列对教学数据库中的3个基本表STUDENT,COURSE,SC的查询
[关系表]
{{B}}STUDENT{{/B}}
{{U}}SNO{{/U}} SNAME BIRRH_YEAR SEX ADDRESS
01 DAVID 1983 北京
02 LUCY 1981 北京
03 LILY 1983 上海
04 JACK 1981 南京
…… …… …… …… ……

                                {{B}}COURSE{{/B}}
CNO CNAME CREDIT
1 英语 4
2 数学 5
3 物理 5
4 化学 3
5 体育 2
6 C语言 4
7 数据结构 4
…… …… ……

                               {{B}}SC{{/B}}
SNO CNO GRASE
01 1 90
01 2 80
01 3 85
02 3 89
02 7 79
…… …… ……
问答题
[问题1]
查询全体学生的姓名和年龄。
【正确答案】
【答案解析】SELECT SNAME, 2005—BIRTH _ YEAR FROM STUDENT;
问答题
[问题2]
如果学生选修了某门课后,但没有参加考试,就没有考试成绩记录。查询缺少成绩的学生的学号和相应的课程号。
【正确答案】
【答案解析】SELECT SNO, CNO FROM SC WHERE GRADE IS NULL;
问答题
[问题3]
查询选修2号课程且成绩在90分以上的所有学生。
【正确答案】
【答案解析】SELECT STUDENT.SNO, SNAME FROM STUDENT, SC WHERE STUDENT.SNO = SC. SNO AND SC. CNO = 2'AND SC.GRADE>=90;
问答题
[问题4]
查询没有选修1号课程的学生的姓名。
【正确答案】
【答案解析】SELECT SNAME FROM STUDENT WHERE NOT EX - ISTS (SELECT * FROM SC WHERE SNO = STUDENT.SNO AND CNO = 1’)
问答题
[问题5]
查询家在其他地方的学生中比家在北京的所有学生年龄都小的学生名单。
【正确答案】
【答案解析】SELECT SNAME, 2005--BIRTH _ YEAR FROM STUDENT WHERE BIRTH_YEAR> ALL (SELECT BIRTH_YEAR FROM STUDENT WHEREADDRESS='北京') AND ADDRESS<>'北京' ORDER BY 2005—BIRTH_EAR DESC;