数据库作业归纳

2026/1/13 17:52:26

ЛGrade(σSdept=?MA?(Student)∞SC)

8.查询所有选修“数学”的学生的学号(Cno)和成绩(Grade)。

ЛCno,Grade(σCname=?数学?(Course)∞SC)

作业四:

1.用关系代数表达式表达课本P74-75习题5 (注:只要求用关系代数完成查询) 【参考答案】

⑴求供应工程J1零件的供应商号SNO; ЛSno(σJno=‘J1’(SPJ))

⑵求供应工程J1零件P1的供应商号SNO; ЛSno(σJno=‘J1’ ∧Pno=‘P1’(SPJ)) ⑶求供应工程J1红色零件的供应商号SNO; ЛSno(σJno=‘J1’∧Color=‘红’(SPJ∞P)) 或ЛSno(σJno=‘J1’(SPJ)∞σColor=‘红’(P)) 或ЛSno(ЛSno,Pno(σJno=‘J1’(SPJ)∞ ЛPno(σColor=‘红’(P)))

⑷求没有使用天津供应商生产的红色零件的工程号

JNO;

ЛJno(J)-ЛJno(σcity=?天津?∧Color=?红?(S∞SPJ∞P)) ЛJno(J)-ЛJno(SPJ∞σcity=?天津?(S)∞σ

5

Color=?红?(P))

⑸求至少使用了S1供应商所供应的全部零件的工程号

JNO;

ЛJno,Pno(SPJ)÷ЛPno(σSno=?S1?(SPJ)) 2.根据P56的关系, 写关系代数表达式和结果关系。 【参考答案】

⑴查询所有选修了课程的女同学的姓名及所在的系; ЛSname,Sdept(σSsex=?女?(Student)∞SC) ⑵查询不作为其他课程的先行课的课程号和课程名; ЛCno,Cname((ЛCno(Course)-ЛCpno(Course))∞Course) ⑶查询IS系和CS系的学生选修的课程号和课程名; ЛCno,Cname(σSdept=?IS?∨Sdept=?CS?(Student)∞SC∞Course)

ЛCno,Cname(σSdept=?IS?(Student)∞SC∞Course)∪ЛCno,Cname(σSdept=?CS?(Student)∞SC∞Course) ⑷求得一张包括学号、姓名和成绩的学生成绩单; ЛSno,Sname,Grade(Student∞SC)

⑸列出所有参加了数据库课程考试的学生姓名和成绩。 ЛSname,Grade(σCname='数据库?(Course)∞SC∞Student)

6

作业五:

根据课本P82的学生-课程数据库,用SQL语句完成如下查询。

1)查询考试成绩90分以上(含)学生的学号,课程号及成绩 SELECT * FROM SC WHERE Grade>=90; 2)查询1号课程考试成绩在80-90(含)之间的学生人数 SELECT Count(DISTINCT Sno) FROM SC WHERE (Grade Between 80 AND 90) AND Cno=?1?; SELECT Count(DISTINCT Sno) FROM SC

WHERE (Grade>=80 AND Grade<=90 AND Cno=?1?); 3)查询没有考试成绩的学生学号

SELECT Sno FROM SC WHERE Grade IS NULL; 4)查询选修信息系统课程的最高成绩,平均成绩

SELECT Max(Grade), AVG(Grade) FROM SC,Course WHERE Cname=‘信息系统‘AND SC.Cno=Course.Cno;

SELECT Max(Grade), AVG(Grade) FROM SC WHERE Cno IN (SELECT Cno FROM Course WHERE Cname='信息系统'); 5)查询所有年龄大于平均年龄的学生学号和年龄 SELECT Sno,Sage FROM Student

WHERE Sage>(select AVG(Sage) FROM Student); 6)查询各门课的最高成绩

SELECT Cno,Max(Grade) FROM SC GROUP BY Cno;

7

7)查询每门课程均不及格的学生的学号 SELECT DISTINCT Sno FROM SC x

WHERE 60>ALL (SELECT Grade FROM SC y WHERE y.Sno=x.Sno);

SELECT Sno FROM SC GROUP BY Sno HAVING MAX(Grade)<60;

作业六:

根据课本P82的学生-课程数据库,用SQL语句完成如下查询。 1)查询选修课程成绩为90分的学生学号和姓名(使用嵌套查询) SELECT Sno,Sname FROM Student WHERE Sno IN (SELECT Sno FROM SC WHERE Grade=90);

SELECT Sno,Sname FROM Student x WHERE EXISTS(SELECT * FROM SC WHERE Grade=90 AND Sno=x.Sno);

2)找出课程成绩超过他本人平均成绩的学生的学号、课程号(使用嵌套查询)

SELECT Sno,Cno FROM SC x WHERE Grade>= (SELECT AVG(Grade) FROM SC WHERE Sno=x.Sno);

8


数据库作业归纳.doc 将本文的Word文档下载到电脑
搜索更多关于: 数据库作业归纳 的文档
相关推荐
相关阅读
× 游客快捷下载通道(下载后可以自由复制和排版)

下载本文档需要支付 10

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:xuecool-com QQ:370150219