问答题 在学籍管理中,设有4个表,关系模式分别为:
STUDENT(SNO ,SNAME, SEX, BIRTHDAY, CLASS)。
TEACHER(TNO ,TNAME ,SEX,BIRTHDAY, PROFESSION, DEPARTMENT)。
COURSE(CNO,CNAME, TNO)。
SCORE(SNO,CNO,DEGREE)。
说明:
学生关系模式中,SNO:学号;SNAME:姓名;SEX:性别;BIRTHDAY:出生日期;CLASS:班级。
教师关系模式中,TNO:教师号;TNAME:姓名;SEX:性别;BIRTHDAY:出生日期;PROFESSION:职称;DEPARTMENT:所在系。
课程关系模式中,CNO:课程号;CNAME:课程名;TNO:任课教师号。
成绩关系模式中,SNO:学号;CNO:课程号;DECREE:分数。
试用SQL语句完成下列操作:
(1)列出“计算机系”教师所教课程的成绩表。
(2)列出“计算机系”与“电子工程系”不同职称的教师的TNAME和PROFESSION。
(3)列出存在有85分以上成绩的课程CNO。
(4)列出选修编号为“3-105”课程且成绩同于选修了编号为“3-245”的同学的CNO、SNO和DECREE。并按DEGREE从高到低次序排列。
(5)列出选修编号为“3-105”课程且成绩高于选修了编号为“3-245”的同学的CNO、SNO和DECREE。
(6)列出成绩比该课程平均成绩低的同学的成绩表。

【正确答案】SELECT CNO,SNO,DEGREE FROM SCORE WHERE CNOIN (SELECT X.CNO FROM COURSE X,TEACHER Y WHERE Y.TNO=)(ITNO AND Y.DEPARTMENT='计算机系');
(2)SELECT TNAME, PROFESSION FROM TEACHER WHERE DEPARTMENT='计算机系'AND PROFESSION NOT IN (SELECT PROFESSION FROM TEACHER WHERE DEPARTMENT='电子工程系');
(3)SELECT DISTINCT CNO FROM SCORE WHERE DECREE>85);
(4)SELECT CNO, SNO, DEGREE FROM SCORE WHERE CNO='3-105'AND DEGREE= ANY (SELECT DECREEFROM SCORE WHERE CNO '3-245' ORDER BY DEGREE DESC;
(5)SELECT CNO,SNO,DEGREE FROM SCORE WHERE CNO='3-105' AND DEGREE>ALL (SELECT DEGREE FROM SCORE WHERE CNO='3-245');
(6)SELECT CNO,SNO,DEGREE FROM SCORE A WHERE DEGREE<(SELECT AVG(DEGREE) FROM SCORE B WHERE A.CNO=B.CNO);
【答案解析】[解析] 主要考查了SQL的数据查询功能、数据定义功能和数据操纵功能。这类问题主要是考查对SELECT FROM WHERE 语句的掌握。