数据库作业2 (1).docx

上传人:11****ws 文档编号:4206675 上传时间:2019-10-04 格式:DOCX 页数:5 大小:21.09KB
下载 相关 举报
数据库作业2 (1).docx_第1页
第1页 / 共5页
数据库作业2 (1).docx_第2页
第2页 / 共5页
数据库作业2 (1).docx_第3页
第3页 / 共5页
数据库作业2 (1).docx_第4页
第4页 / 共5页
数据库作业2 (1).docx_第5页
第5页 / 共5页
亲,该文档总共5页,全部预览完了,如果喜欢就下载吧!
资源描述

1、刘文玲 41304289 一、 查询学生-课程数据库 1. 查询目前年龄大于 19 岁的学生信息:学号、姓名和出生年份。 SELECT SNO,NAME,2015-AGE FROM Student WHERE AGE19 2. 查询每门课程的最高分,要求得到的信息包括课程号和分数。 SELECT CNO,MAX(GRADE) FROM SC GROUP BY CNO 3. 统计只有 2 名以下(含 2 名)学生选修的课程情况,统计结果包括课程号、课程名和 选修人数,并按选课人数降序排列。 SELECT Course.CNO,CNAME,COUNT(SNO) FROM SC,Course WHE

2、RE SC.CNO=Course.CNO GROUP BY(Course.CNO,Course.CNAME) HAVING COUNT(SNO)=2 ORDER BY COUNT(SC.SNO) DESC 4. 查询选修了信息系统和数据库的学生的名字。 (2 种方法) SELECT DISTINCT NAME FROM Student,Course,SC WHERE Student.SNO=SC.SNO AND SC.CNO=Course.CNO AND CNAME IN(数据库, 信息系统) SELECT NAME FROM Student WHERE SNO IN( SELECT SNO

3、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 种方法),(

4、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) SELECT JNAME FROM S,SPJ,J WHERE S.NO=SPJ.SNO AND S.CITY=上海 AND SPJ.JNO=P.JNO SELECT JNAME FROM SPJ,J WHERE SPJ.JNO=P.JNO AND SNO IN (SELECT SNO FROM S WHERE CITY=上海) (7)SELECT JN

5、O 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) 视图与基表的区别与联系 答:区别:视图是一个虚表,数据库中只存放视图的定义,而不存放视图对应的数 据,这些数据存放在对应的基本表中;而基

6、本表真实存在,数据存在其中。 联系:视图对应的数据存在基本表中,因此视图查询出的数据随基本表中数据变 动变动 (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

7、.SNO,NAME) (4) 视图可以查询吗?与基表的查询方法相同吗 答:视图可以查询,与基本表的查询方式一样 (5) 查询平均成绩在 90 分以下的学生姓名和平均成绩。分别从基表和视图查询。 基本表:SELECT NAME,AVG(GRADE) FROM Student,SC WHERE Student.SNO=SC.SNO GROUP BY NAME HAVING AVG(GRADE)90 视图 SELECT NAME,GAVG FROM StuV1 WHERE GAVG90 (6) 视图可以更新吗?与基表的查询方法相同吗?有什么限制。 答:视图可以更新,更新方式与基本表的一样,但并不是所有的视图都是可更新 的,一般只允许对行列子集视图进行更新。 (7) 通过更新视图将信息系的学生张立的名字更改为张国立。 UPDATE IS1_Student SET NAME=张国立 WHERE NAME=张立

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 实用文档资料库 > 策划方案

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。