当前位置:网站首页>数据库实验报告(二)
数据库实验报告(二)
2022-07-01 10:42:00 【Billy Miracle】
一、 实验目的
掌握SQL程序设计基本规范,熟练运用SQL语言实现数据基本查询,包括单表查询、分组统计查询和连接查询等。掌握视图的使用。掌握SQL嵌套查询和集合查询等各种高级查询的设计方法。熟悉数据库的数据更新操作,能够使用SQL语句对数据库进行数据的插入、修改、删除操作。熟悉SQL语言有关视图的操作,能够熟练使用SQL语句来创建需要的视图,定义数据库外模式,并能使用所创建的视图实现数据管理。
二、 实验内容
- 查询SC表中的全部数据。
- 查询计算机系学生的姓名和年龄
- 查询成绩在70~80分的学生的学号、课程号和成绩
- 查询计算机系年龄在18~20岁的男生姓名和年龄
- 查询C001课程的最高分
- 查询计算机系学生的最大年龄和最小年龄
- 统计每个系的学生人数
- 统计每门课程的选课人数和最高成绩
- 计算每个学生的选课门数和考试总成绩,并按选课门数升序显示结果
- 列出总成绩超过200的学生的学号和总成绩
- 查询选了C002课程的学生姓名和所在系
- 查询考试成绩80分以上的学生姓名、课程号和成绩,并按成绩降序排列结果
- 查询与VB在同一学期开设的课程的课程名和开课学期
- 查询与李勇年龄相同的学生的姓名、所在系和年龄
- 查询哪些课程没有学生选修,列出课程号和课程名
- 查询每个学生的选课情况,包括未选课的学生,列出学生的学号、姓名、选的课程号
- 查询计算机系哪些学生没有选课,列出学生姓名
- 查询计算机系年龄最大的三个学生的姓名和年龄,top 3
- 列出“VB”课程考试成绩前三名的学生的学号、姓名、所在系和VB成绩,top3
- 查询选课门数最多的前2位学生,列出学号和选课门数, top 2
- 查询通信工程系成绩80分以上的学生的学号和姓名
- 查询计算机系学生考试成绩高于计算机系学生平均成绩的学生的姓名、考试的课程名和考试成绩
- 统计每门课程的选课人数,包括有人选的课程和没有人选的课程,列出课程号,选课人数及选课情况,其中选课情况为:如果此门课程的选课人数超过100人,则显示“人多”;如果此门课程的选课人数在40~100,则显示“一般”;如果此门课程的选课人数在1~40,则显示“人少”;如果此门课程没有人选,则显示“无人选”。
- 删除没人选的课程的基本信息
- 包含学生的学号、姓名、所在系、年龄,课程号、课程名、课程学分的视图
- 包含学生的学号、姓名、选修的课程名和考试成绩的视图
- 统计每个学生的选课门数,要求列出学生学号和选课门数的视图
- 统计每个学生的修课总学分,要求列出学生学号和总学分的视图(说明:考试成绩大于等于60才可获得此门课程的学分)。
- 利用视图查询考试成绩大于等于90分的学生的姓名、课程名和成绩。
- 利用视图查询选课门数超过3门的学生的学号和选课门数。
- 利用视图查询计算机系选课门数超过3门的学生的姓名和选课门数。
- 利用视图查询修课总学分超过10分的学生的学号、姓名、所在系和修课总学分。
- 利用视图查询年龄大于等于20岁的学生中,修课总学分超过10分的学生的姓名、年龄、所在系和修课总学分。
- 再创建一个“计算机系”同学的学号、姓名、所在系、年龄,课程号、课程名、课程学分的视图。
增加一条记录,
0841101 张新 计算机系 20 C001 高等数学 4
修改这条记录为
0841101 张新 物理系 20 C001 高等数学 4
三、 实验环境
MySQL、Navicat 15 for MySQL
四、 实验前准备
实验数据,使用第一次实验创建的表和数据
五、 实验步骤
查询SC表中的全部数据。
查询计算机系学生的姓名和年龄,并使用别名
查询成绩在70~80分的学生的学号、课程号和成绩
查询计算机系年龄在18~20岁的男生姓名和年龄
查询C001课程的最高分
查询计算机系学生的最大年龄和最小年龄
统计每个系的学生人数
统计每门课程的选课人数和最高成绩
计算每个学生的选课门数和考试总成绩,并按选课门数升序显示结果
列出总成绩超过200的学生的学号和总成绩
查询选了C002课程的学生姓名和所在系
查询考试成绩80分以上的学生姓名、课程号和成绩,并按成绩降序排列结果
查询与VB在同一学期开设的课程的课程名和开课学期
查询与李勇年龄相同的学生的姓名、所在系和年龄
查询哪些课程没有学生选修,列出课程号和课程名
查询每个学生的选课情况,包括未选课的学生,列出学生的学号、姓名、选的课程号
查询计算机系哪些学生没有选课,列出学生姓名
查询计算机系年龄最大的三个学生的姓名和年龄,top 3
列出“VB”课程考试成绩前三名的学生的学号、姓名、所在系和VB成绩,top3
查询选课门数最多的前2位学生,列出学号和选课门数, top 2
查询通信工程系成绩80分以上的学生的学号和姓名
查询计算机系学生考试成绩高于计算机系学生平均成绩的学生的姓名、考试的课程名和考试成绩
统计每门课程的选课人数,包括有人选的课程和没有人选的课程,列出课程号,选课人数及选课情况,其中选课情况为:如果此门课程的选课人数超过100人,则显示“人多”;如果此门课程的选课人数在40~100,则显示“一般”;如果此门课程的选课人数在1~40,则显示“人少”;如果此门课程没有人选,则显示“无人选”。
删除没人选的课程的基本信息
包含学生的学号、姓名、所在系、年龄,课程号、课程名、课程学分的视图
包含学生的学号、姓名、选修的课程名和考试成绩的视图
统计每个学生的选课门数,要求列出学生学号和选课门数的视图
统计每个学生的修课总学分,要求列出学生学号和总学分的视图(说明:考试成绩大于等于60才可获得此门课程的学分)。
利用视图查询考试成绩大于等于90分的学生的姓名、课程名和成绩。
利用视图查询选课门数超过3门的学生的学号和选课门数。
利用视图查询计算机系选课门数超过3门的学生的姓名和选课门数
利用视图查询修课总学分超过10分的学生的学号、姓名、所在系和修课总学分。
利用视图查询年龄大于等于20岁的学生中,修课总学分超过10分的学生的姓名、年龄、所在系和修课总学分。
再创建一个“计算机系”同学的学号、姓名、所在系、年龄,课程号、课程名、课程学分的视图。
增加一条记录,
0841101 张新 计算机系 20 C001 高等数学 4
修改这条记录为
0841101 张新 物理系 20 C001 高等数学 4
六、实验结果
查询SC表中的全部数据。
查询计算机系学生的姓名和年龄
查询成绩在70~80分的学生的学号、课程号和成绩
查询计算机系年龄在18~20岁的男生姓名和年龄
查询C001课程的最高分
查询计算机系学生的最大年龄和最小年龄
统计每个系的学生人数
统计每门课程的选课人数和最高成绩
计算每个学生的选课门数和考试总成绩,并按选课门数升序显示结果
列出总成绩超过200的学生的学号和总成绩
查询选了C002课程的学生姓名和所在系
查询考试成绩80分以上的学生姓名、课程号和成绩,并按成绩降序排列结果
查询与VB在同一学期开设的课程的课程名和开课学期
查询与李勇年龄相同的学生的姓名、所在系和年龄
查询哪些课程没有学生选修,列出课程号和课程名
查询每个学生的选课情况,包括未选课的学生,列出学生的学号、姓名、选的课程号
查询计算机系哪些学生没有选课,列出学生姓名
查询计算机系年龄最大的三个学生的姓名和年龄,top 3
列出“VB”课程考试成绩前三名的学生的学号、姓名、所在系和VB成绩,top3
查询选课门数最多的前2位学生,列出学号和选课门数, top 2
查询通信工程系成绩80分以上的学生的学号和姓名
查询计算机系学生考试成绩高于计算机系学生平均成绩的学生的姓名、考试的课程名和考试成绩
统计每门课程的选课人数,包括有人选的课程和没有人选的课程,列出课程号,选课人数及选课情况,其中选课情况为:如果此门课程的选课人数超过100人,则显示“人多”;如果此门课程的选课人数在40~100,则显示“一般”;如果此门课程的选课人数在1~40,则显示“人少”;如果此门课程没有人选,则显示“无人选”。
删除没人选的课程的基本信息
包含学生的学号、姓名、所在系、年龄,课程号、课程名、课程学分的视图
包含学生的学号、姓名、选修的课程名和考试成绩的视图
统计每个学生的选课门数,要求列出学生学号和选课门数的视图
统计每个学生的修课总学分,要求列出学生学号和总学分的视图(说明:考试成绩大于等于60才可获得此门课程的学分)。
利用视图查询考试成绩大于等于90分的学生的姓名、课程名和成绩。
利用视图查询选课门数超过3门的学生的学号和选课门数。
利用视图查询计算机系选课门数超过3门的学生的姓名和选课门数。
利用视图查询修课总学分超过10分的学生的学号、姓名、所在系和修课总学分。
利用视图查询年龄大于等于20岁的学生中,修课总学分超过10分的学生的姓名、年龄、所在系和修课总学分。
再创建一个“计算机系”同学的学号、姓名、所在系、年龄,课程号、课程名、课程学分的视图。
增加一条记录,
0841101 张新 计算机系 20 C001 高等数学 4
修改这条记录为
0841101 张新 物理系 20 C001 高等数学 4
注意:不能在一张由多张关联表连接而成的视图上做同时修改两张表的操作。
边栏推荐
- Is it safe to open a stock account online in 2022? Is there any danger?
- 机器学习之线性回归详解
- SQL optimization - in and not in, exist
- Have the bosses ever done the operation of sink shunting and writing to Clickhouse or other databases.
- [laravel] detailed explanation of faker data filling
- 爬虫(2) - Requests(1) | Requests模块的深度解析
- Crawler (2) - requests (1) | deep parsing of requests module
- Handling distributed transactions with powerful dbpack (PHP tutorial)
- bash: ln: command not found
- SQL server2014 failed to delete the database, with an error offset of 0x0000
猜你喜欢
移动硬盘驱动器读到,但不显示盘符
预制菜迎来“黄金时代”,谁能领跑下一个万亿市场
Mobile hard drive reads but does not display drive letter
New situation of digital collection market
[dark horse morning post] Yu Minhong said he never looked at the stock price of New Oriental; Hengchi 5 will start pre-sale in July; Naixue virtual stock or suspected of illegal fund-raising; From Jul
新品大揭秘!雅迪冠能 3 多元产品矩阵,满足全球用户出行需求
What a high commission! The new programmer's partner plan is coming. Everyone can participate!
106. 从中序与后序遍历序列构造二叉树
Japanese professor sues Intel FPGA and SOC products for infringing a design patent
Half of 2022 has passed, isn't it sudden?
随机推荐
678. Valid bracket string
12.Gateway新一代网关
Sqlachemy common operations
CRC check
Is it safe to buy funds on the access letter?
The Lantern Festival is held on the fifteenth day of the first month, and the Lantern Festival begins to celebrate the reunion
The exclusive collection of China lunar exploration project is limited to sale!
What a high commission! The new programmer's partner plan is coming. Everyone can participate!
Japanese professor sues Intel FPGA and SOC products for infringing a design patent
SQL Server列一相同的情况下,如何取列二的最大值,并重新生成表
【论文阅读】Trajectory-guided Control Prediction for End-to-end Autonomous Driving: A Simple yet Strong Ba
Crawler (2) - requests (1) | deep parsing of requests module
Valgrind usage of memory leak locating tool
2022年已经过去一半了,是不是很突然呢?
Guys, how to export iceberg data to MySQL? What tools are there? Neither sqoop nor dataX
新一代云原生数据库的设计与实践
华为HMS Core携手超图为三维GIS注入新动能
Detailed explanation of linear regression in machine learning
数字藏品平台搭建需要注意哪些法律风险及资质?
Have you learned the necessary global exception handler for the project