SQL练习创建数据库数据查询数据更新.docx
- 文档编号:7078149
- 上传时间:2023-01-17
- 格式:DOCX
- 页数:16
- 大小:487.24KB
SQL练习创建数据库数据查询数据更新.docx
《SQL练习创建数据库数据查询数据更新.docx》由会员分享,可在线阅读,更多相关《SQL练习创建数据库数据查询数据更新.docx(16页珍藏版)》请在冰豆网上搜索。
SQL练习创建数据库数据查询数据更新
数据库作业-相关操作练习
班级:
计算机1103B
学号:
2009080305302
姓名:
傅笔贵
1、创建数据库
用SQL语句创建上述三个表,包括完整性约束(实体、参照、用户定义)
S表创建:
(完整性约束写于编辑表里):
S表插入:
S表:
C表创建:
C表插入:
(由于学时书上没给,因此自行编写)
C表:
SC表创建:
SC表插入:
SC表:
2、数据查询
1)查询信息系学生中的最大年龄、最小年龄、平均年龄
2)查询学生“李勇“选修了哪些课程(列出课程名称及成绩)
3)查询选修了数据库类课程的学生学号、姓名
4)查询成绩大于90分的学生学号、姓名、课程名称、成绩
5)统计每个系的学生人数
6)查询“数据库”课程的最高分、最低分和平均分
7)统计每个学生的选课门数,并按选课门数的递增顺序显示结果
8)统计各系修课的学生总数和考试的平均分
9)查询平均成绩80分以上的学生学号、姓名,所在系
10)查询学生的选课情况,要求列出每位学生的选课情况(包括位选课的学生),包括:
学生学号、姓名、课程号、修课成绩
11)列出“数据库”课程成绩前三名的学号、姓名、所在系和成绩
12)查询哪些课程无人选修
13)统计每门课的最高、最低、平均分
14)列出3门以上课程不及格的学生学号、姓名、所在系
(无人3门以上课程不及格,可喜可贺)
15)列出所有课程全部及格的学生学号、姓名、所在系
16)按学号统计每位学生的学分(>60分有学分)
3、数据更新
1)将一个新学生记录(学号:
95020;姓名:
陈冬;性别:
男;所在系:
IS;年龄:
18岁)插入到S表中。
插入语句:
插入结果:
2)插入一条选课记录('95020','C01')。
插入语句:
插入结果:
3)将每门课的最高分、最低分、平均分插入数据库
(没明白题的意思)
4)求学生的平均年龄,并把结果存入数据库
(同样没明白这是要干什么)
5)将信息系所有学生的数据库课程的成绩提高10%。
由于分数超过90的学生提高10%成绩会超过100分,违背用户自定义完整性约束,因此加上额外条件Grade<=90。
6)在S表中删除四门以上课程不及格的学生记录。
4、视图操作
1)创建信息系选修了数据库课程的学生视图。
创建视图语句:
创建结果:
2)通过视图检索信息系数据库课程成绩大于80分的学生记录(学号、姓名、性别、成绩)
3)将所有学生的学号及其平均成绩定义为一个视图
创建视图语句:
创建视图结果:
4)检索平均成绩大于80分的学生学号、姓名,平均分
5)创建视图(修课成绩在平均成绩之上的元组构成)
创建语句:
其中利用到的另一个视图temp1的创建语句如下:
创建结果:
首先是temp1的创建结果:
其次是利用了视图temp1的S4的创建结果:
6)修课成绩在平均成绩之上的同学,该课程成绩加10%。
由于存在用户自定义完整性约束,因此在成绩提高10%之后会超过100分的学生,成绩自动变为100分。
因为(5)中创建的视图中含有聚集函数,因此无法直接更新,采用下述方法完成题目要求:
通过这个方法,存在bug,解法存疑。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SQL 练习 创建 数据库 数据 查询 更新