一个SQL题目.
exun 2004-05-11 08:23:08 设有下列关系模式:
S(sno,SN,AGE,SEX,DNO),S表示学生,其中sno表示学号,SN表示姓名,AGE表示年龄,SEX性别,dno表示学生所在系号,要求sno为主码,SEX为'男','女'或'其它';AGE在12到65之间,C(cno,CN),C表示课程,其中cno表示课程编号,CN表示课程名称,主码为cno;SC(sno,cno GRADE),SC表示学生选课,其中sno为选课的学生学号, cno为学生所选课程编号,GRADE表示学生成绩0到100;主码为sno,cno,外部码分别为sno,cno
1、请用SQL语言创建上面三个基本表(考虑关系的完整性),
2、每个表插入二个值,体现完整性
完成以下查询:
1、检索选修了课程号为C1或C2课程,且成绩高于或等于70分的学生的姓名,课程名和成绩。
2、检索所有学生的姓名、所选课程的课程名和成绩,并且按课程号的升序和成绩的降序进行排列。
3、检索选修了“C语言”课程的学生的姓名。
4、检索所有学生年龄最大的学生的姓名及年龄。
5、求所有学生中年龄的最大值和最小值。
6、求所有学生中女生的总人数。
7、求选课在四门以上的学生所选课程的学号与平均成绩(不统计不及格的课程),按平均成绩降序列出。
8、将成绩达到55分的改为及格60分。
9、删除成绩为空的成绩记录并将相关的学生记录(只要有一门为空)转入到另一个表中(ST)
10、将01系的学生记录授权给用户zhang,liwenq;将C01课程的所有成绩记录及相关选课的学生记录授权给用户WA