SQL作业参考答案.doc

SQL作业参考答案.doc

ID:57650386

大小:55.00 KB

页数:5页

时间:2020-08-30

SQL作业参考答案.doc_第1页
SQL作业参考答案.doc_第2页
SQL作业参考答案.doc_第3页
SQL作业参考答案.doc_第4页
SQL作业参考答案.doc_第5页
资源描述:

《SQL作业参考答案.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、1、设有以下三个关系:学生关系:student(sno,sname,dep,age,sex)选课关系:sc(sno,cno,grade)课程关系:course(cno,cname,score)1)建数据库,在数据库中建立以上三个关系。要求:学生关系中:sno为主键,sname不允许为空,age默认值18,sex取值范围’男’、’女’、默认为’男’。课程关系中:cno为主键,cname不为空,在cname上建立唯一索引。选课关系中:sno、cno组合为主键,grade允许为空,sno为外键(参照学生关系的sno,级联删除、级联修改),cno为外键(参照课程关系的cn

2、o,限制删除、限制修改)。2)试用SQL的查询语句表示下列查询。(1)检索学分score等于4的所有课程的课程号和课程名。selectcno,cnamefromcoursewherescore=4;(2)检索年龄在20和23岁之间的学生的学号与姓名。selectsno,snamefromstudentwhereagebetween20and23;(3)检索Wang同学不学的课程的课程号。selectcnofromcoursewherecnonotin(selectcnofromsc,studentwheresc.sno=student.snoandstudent.

3、sname='Wang');(4)检索所有姓李的学生情况。select*fromstudentwheresnamelike'李%';(5)检索所有学生情况及其选课情况。(可以用f1键查看左外联接)selectstudent.*,sc.*fromstudentleftouterjoinsconstudent.sno=sc.sno;(6)检索所有选修了课程的学生情况和选课情况。selectstudent.*,sc.*fromstudent,scwherestudent.sno=sc.sno;(7)检索至少选修两门课程的学生学号和姓名。只能用嵌套查询!selectsno

4、,snamefromstudentwheresnoin(selectsnofromscgroupbysnohavingcount(*)>=2);注意:如果用如下的联接查询实现,会出现错误提示列'student.sname'在选择列表中无效,因为该列既不包含在聚合函数中,也不包含在GROUPBY子句中。selectstudent.sno,snamefromstudent,scwherestudent.sno=sc.snogroupbystudent.snohavingcount(*)>=2;(1)将所有成绩为空值的学生成绩置为0。updatescsetgrade=0

5、wheregradeisnull;注意:判断是否为null时不能用=null(2)删除课程名为“DB”的课程和所有成绩的元组。deletefromscwherecno=(selectcnofromcoursewherecname='DB');deletefromcoursewherecname='DB';(3)平均成绩大于60分的课程的课程号和平均成绩存入关系G1(C#,AVG_G)中。表G1不存在:selectcnoasc#,avg(grade)asAVG_GintoG1fromscgroupbycnohavingavg(grade)>60;表G1存在:inse

6、rtintoG1selectcno,avg(grade)fromscgroupbycnohavingavg(grade)>60;(4)把课程名为“OS”的课程的学生成绩提高5%。updatescsetgrade=grade*(1+0.05)wherecno=(selectcnofromcoursewherecname='OS');(1)统计有学生选修的课程门数。selectcount(distinctcno)as已选修课程数fromsc;(2)查询选修了课程名为C2课程的学生的平均年龄。selectavg(sage)as平均年龄fromstudent,sc,cou

7、rsewherestudent.sno=sc.snoandsc.cno=course.cnoandcname='C2';或:selectavg(sage)as平均年龄fromstudentwheresnoin(selectsnofromsc,coursewheresc.cno=course.cnoandcname='C2');或:selectavg(sage)as平均年龄fromstudentwheresnoin(selectsnofromscwherecnoin(selectcnofromcoursewherecname='C2'));14)查询选修人数超过15

8、的课程的课

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。