当前位置:网站首页>数据库实验报告(二)
数据库实验报告(二)
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
注意:不能在一张由多张关联表连接而成的视图上做同时修改两张表的操作。
边栏推荐
- In the new database era, don't just learn Oracle and MySQL
- Handling distributed transactions with powerful dbpack (PHP tutorial)
- Valgrind usage of memory leak locating tool
- Submission lottery - light application server essay solicitation activity (may) award announcement
- CodeBlocks 左侧项目栏消失,workspace 自动保存项目,Default workspace,打开上次的workspace,工作区(图文教程,已解决)
- .NET 5.0+ 无需依赖第三方 原生实现定时任务
- Write your own who commands
- [encounter Django] - (II) database configuration
- bash: ln: command not found
- 零基础入行软件测试必看,10年测试老鸟的良心建议(共15条)
猜你喜欢

Japanese professor sues Intel FPGA and SOC products for infringing a design patent

预制菜迎来“黄金时代”,谁能领跑下一个万亿市场

12.Gateway新一代网关

It is interesting to understand MMAP in this way!

12 plateformes de gestion de produits utilisées par tout le monde

What a high commission! The new programmer's partner plan is coming. Everyone can participate!

106. construct binary tree from middle order and post order traversal sequence

Detailed explanation of linear regression in machine learning

Mobile hard drive reads but does not display drive letter

The Lantern Festival is held on the fifteenth day of the first month, and the Lantern Festival begins to celebrate the reunion
随机推荐
mysql cdc能把能把op字段拿出来吗
零基础入行软件测试必看,10年测试老鸟的良心建议(共15条)
prism journal导航按钮的可用性探索记录
12.Gateway新一代网关
Lack of comparator, operational amplifier to save the field! (the op amp is recorded as a comparator circuit)
Zero foundation software testing must see, 10 years of testing old bird's conscience suggestions (a total of 15)
[.NET6]使用ML.NET+ONNX预训练模型整活B站经典《华强买瓜》
基金管理人的内部控制
【Matytype】在CSDN博客中插入Mathtype行间与行内公式
Does anyone know why? The table structure is the source table MySQL CDC that has just been directly copied
How do clients request databases?
[encounter Django] - (II) database configuration
MySQL常用命令
Sqlachemy common operations
大佬们 有没有搞过sink分流写入clickhouse 或者其他数据库的操作。
It is interesting to understand MMAP in this way!
Mobile hard drive reads but does not display drive letter
有大佬知道这是为啥吗?表结构都是刚直接复制的源表 mysql-cdc
投稿开奖丨轻量应用服务器征文活动(5月)奖励公布
Project0:小游戏