收藏 分销(赏)

数据库作业2 (1).docx

上传人:xrp****65 文档编号:6107953 上传时间:2024-11-28 格式:DOCX 页数:5 大小:21.09KB
下载 相关 举报
数据库作业2 (1).docx_第1页
第1页 / 共5页
数据库作业2 (1).docx_第2页
第2页 / 共5页
点击查看更多>>
资源描述
刘文玲41304289 一、 查询学生-课程数据库 1. 查询目前年龄大于19岁的学生信息:学号、姓名和出生年份。 SELECT SNO,NAME,2015-AGE FROM Student WHERE AGE>19 2. 查询每门课程的最高分,要求得到的信息包括课程号和分数。 SELECT CNO,MAX(GRADE) FROM SC GROUP BY CNO 3. 统计只有2名以下(含2名)学生选修的课程情况,统计结果包括课程号、课程名和选修人数,并按选课人数降序排列。 SELECT Course.CNO,CNAME,COUNT(SNO) FROM SC,Course WHERE SC.CNO=Course.CNO GROUP BY(Course.CNO,Course.CNAME) HAVING COUNT(SNO)<=2 ORDER BY COUNT(SC.SNO) DESC 4. 查询选修了信息系统和数据库的学生的名字。(2种方法) l SELECT DISTINCT NAME FROM Student,Course,SC WHERE Student.SNO=SC.SNO AND SC.CNO=Course.CNO AND CNAME IN('数据库','信息系统') l SELECT NAME FROM Student WHERE SNO IN( SELECT SNO FROM SC WHERE CNO IN( SELECT CNO FROM Course WHERE CNAME IN('数据库','信息系统'))) 5. 查询每门课程的间接先修课程(即先修课程的先修课),输出课程和间接先修课程的课程号及学分。 SELECT S1.CNO,S1.CREDIT,S2.CPNO FROM Course S1,Course S2 WHERE S1.CNO=S2.CNO; SELECT S2.CPNO,S2.CREDIT FROM Course S1,Course S2 WHERE S2.CPNO=S1.CNO 二、 P130:5 (1),(4),(6)(2种方法),(7),(9),(10),(11) (1)SELECT SNAME,CITY FROM S (4)SELECT P.PNAME,QTY FROM SPJ,P WHERE SPJ.PNO=P.PNO AND SPJ.JNO=’J2’ (6) l SELECT JNAME FROM S,SPJ,J WHERE S.NO=SPJ.SNO AND S.CITY=’上海’ AND SPJ.JNO=P.JNO l SELECT JNAME FROM SPJ,J WHERE SPJ.JNO=P.JNO AND SNO IN (SELECT SNO FROM S WHERE CITY=’上海’) (7)SELECT JNO FROM S,SPJ WHERE S.NO=SPJ.NO AND S.CITY NOT IN(‘天津’) (9)UPDATE SPJ SET SNO=’S3’ WHERE JNO=’J4’ AND PNO=’P6’ AND SNO=’S5’ (10)DELETE FROM S WHERE SNO=’S2’ ; DELETE FROM SPJ WHERE SNO=’S2’ (11)INSERT INTO SPJ VALUES(‘S2’,’J6’,’P4’,’200’) 三、 预习 1. 视图 (1) 视图与基表的区别与联系 答:区别:视图是一个虚表,数据库中只存放视图的定义,而不存放视图对应的数据,这些数据存放在对应的基本表中;而基本表真实存在,数据存在其中。 联系:视图对应的数据存在基本表中,因此视图查询出的数据随基本表中数据变动变动 (2) 创建信息系学生的视图。 CREATE VIEW IS1_Student AS SELECT SNO,NAME,AGE FROM Student WHERE DEPT='IS' (3) 将学生的学号、姓名及平均成绩定义为一个视图 CREATE VIEW StuV1(SNO,NAME,GAVG) AS SELECT Student.SNO,NAME,AVG(GRADE) FROM Student,SC WHERE Student.SNO=SC.SNO GROUP BY (Student.SNO,NAME) (4) 视图可以查询吗?与基表的查询方法相同吗 答:视图可以查询,与基本表的查询方式一样 (5) 查询平均成绩在90分以下的学生姓名和平均成绩。分别从基表和视图查询。 l 基本表:SELECT NAME,AVG(GRADE) FROM Student,SC WHERE Student.SNO=SC.SNO GROUP BY NAME HAVING AVG(GRADE)<90 l 视图SELECT NAME,GAVG FROM StuV1 WHERE GAVG<90 (6) 视图可以更新吗?与基表的查询方法相同吗?有什么限制。 答:视图可以更新,更新方式与基本表的一样,但并不是所有的视图都是可更新的,一般只允许对行列子集视图进行更新。 (7) 通过更新视图将信息系的学生张立的名字更改为张国立。 UPDATE IS1_Student SET NAME='张国立' WHERE NAME='张立'
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 行业资料 > 医学/心理学

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服