实验6分类汇总

news2025/5/19 4:01:59
设计性实验
(1)查询每门课程的平均分,包括课程号和平均分。
SELECT Cno AS 课程号, AVG(Degree) AS 平均分
FROM Score065
GROUP BY Cno;

在这里插入图片描述

(2)查询每门课程的平均分,包括课程号、课程名和平均分。
SELECT c.Cno AS 课程号, c.Cname AS 课程名, AVG(sc.Degree) AS 平均分
FROM Score065 sc
JOIN Course065 c ON sc.Cno = c.Cno
GROUP BY c.Cno, c.Cname;

在这里插入图片描述

(3)查询男的平均分,包括学号和平均分。
SELECT s.Sno AS 学号, AVG(sc.Degree) AS 平均分
FROM Score065 sc
JOIN student065 s ON sc.Sno = s.Sno
WHERE s.Ssex = '男'
GROUP BY s.Sno;

在这里插入图片描述

(4)查询女的平均分,包括学号,姓名和平均分。
SELECT s.Sno AS 学号, s.Sname AS 姓名, AVG(sc.Degree) AS 平均分
FROM Score065 sc
JOIN student065 s ON sc.Sno = s.Sno
WHERE s.Ssex = '女'
GROUP BY s.Sno, s.Sname;

在这里插入图片描述

(5)查询每门课程的最高、最低分,包括课程号和最高、最低分。
SELECT Cno AS 课程号, MAX(Degree) AS 最高分, MIN(Degree) AS 最低分
FROM Score065
GROUP BY Cno;

在这里插入图片描述

(6)查询每位学生的最高、最低分、平均分,包括学号,姓名和最高、最低分、平均分。
SELECT 
    s.Sno AS 学号, 
    s.Sname AS 姓名, 
    MAX(sc.Degree) AS 最高分, 
    MIN(sc.Degree) AS 最低分, 
    AVG(sc.Degree) AS 平均分
FROM Score065 sc
JOIN student065 s ON sc.Sno = s.Sno
GROUP BY s.Sno, s.Sname;

在这里插入图片描述

(7)查询所有成绩都及格的学号,姓名
SELECT s.Sno AS 学号, s.Sname AS 姓名
FROM student065 s
WHERE NOT EXISTS (
    SELECT 1
    FROM Score065 sc
    WHERE sc.Sno = s.Sno AND sc.Degree < 60
);

在这里插入图片描述

(8)查询每位老师所授课程的最高、最低分,包括教师号,姓名,课程名和最高、最低分。
SELECT 
    t.Tno AS 教师号, 
    t.Tname AS 教师姓名, 
    c.Cname AS 课程名, 
    MAX(sc.Degree) AS 最高分, 
    MIN(sc.Degree) AS 最低分
FROM Score065 sc
JOIN Course065 c ON sc.Cno = c.Cno
JOIN teacher065 t ON c.Tno = t.Tno
GROUP BY t.Tno, t.Tname, c.Cname;

在这里插入图片描述

(9)查询学生信息,包括学号,课程号,成绩以及学生的平均分。(一个语句)
SELECT 
    sc.Sno AS 学号, 
    sc.Cno AS 课程号, 
    sc.Degree AS 成绩, 
    AVG(sc.Degree) OVER (PARTITION BY sc.Sno) AS 学生平均分
FROM Score065 sc;

在这里插入图片描述
在这里插入图片描述

(10)查询学生信息,包括姓名,课程名,成绩以及每位学生的平均分和每门课程的平均分。(一个语句)
SELECT 
    s.Sname AS 姓名, 
    c.Cname AS 课程名, 
    sc.Degree AS 成绩, 
    AVG(sc.Degree) OVER (PARTITION BY sc.Sno) AS 学生平均分, 
    AVG(sc.Degree) OVER (PARTITION BY sc.Cno) AS 课程平均分
FROM Score065 sc
JOIN student065 s ON sc.Sno = s.Sno
JOIN Course065 c ON sc.Cno = c.Cno;

在这里插入图片描述

(11)查询学生信息,包括学号,姓名,课程号,课程名,成绩以及每位学生的平均分和每门课程的平均分。(一个语句)
SELECT 
    s.Sno AS 学号, 
    s.Sname AS 姓名, 
    sc.Cno AS 课程号, 
    c.Cname AS 课程名, 
    sc.Degree AS 成绩, 
    AVG(sc.Degree) OVER (PARTITION BY sc.Sno) AS 学生平均分, 
    AVG(sc.Degree) OVER (PARTITION BY sc.Cno) AS 课程平均分
FROM Score065 sc
JOIN student065 s ON sc.Sno = s.Sno
JOIN Course065 c ON sc.Cno = c.Cno;

在这里插入图片描述

(12)查询学生信息,包括学号,姓名,课程号,课程名以及每位学生的平均分和每门课程的平均分。(一个语句)

如:


SELECT 
    s.Sno AS 学号, 
    s.Sname AS 姓名, 
    sc.Cno AS 课程号, 
    c.Cname AS 课程名, 
    AVG(sc.Degree) OVER (PARTITION BY sc.Sno) AS 学生平均分, 
    AVG(sc.Degree) OVER (PARTITION BY sc.Cno) AS 课程平均分
FROM Score065 sc
JOIN student065 s ON sc.Sno = s.Sno
JOIN Course065 c ON sc.Cno = c.Cno;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

实验小结(实验中遇到的问题及解决过程、实验中产生的错误及原因分析、实验体会和收获)

这次的实验整体上来说比之前更难了,当一次性查询的数据越来越多的时候,就很容易出现报错,尤其是当我直接把老师发的文档中的代码复制过来,最容易出现的一个问题就是中英文的(’’)这一点,所以有时候手敲代码反而更不容易报错,反而可以加深记忆。
然后就是,在处理聚集函数时,比如查询每门课程的平均分、最高分和最低分,我意识到直接使用MAX()、AVG()、MIN()这样的函数虽然简单,但如果想要结果更清晰易读,给这些计算出来的值命名是非常重要的(虽然我前面几次验证性实验的查询结果没有显示“最高分”,“最低分”,“平均分”这几点,但是通过询问AI,我在后续的设计性实验则显示出了“平均分”等表明)。
而在进行分组统计时,我遇到了一个特别头疼的问题——如何正确地使用GROUP BY语句。最初写的查询虽然能跑通,但一旦涉及到复杂的条件筛选(如HAVING子句),就显得很麻烦。例如,在查询选修了3门以上课程的学生学号时,一开始忘记加上COUNT(*) >= 3的条件,导致结果完全不对。经过多次调试和借助ai帮助,我才慢慢理解了如何结合GROUP BY和HAVING来实现复杂条件下的数据筛选。
多表连接查询我觉得是最难且震撼的吧。特别是当需要同时展示学生信息(包括姓名、学号)和他们的成绩时,我发现如果不合理使用表别名,查询语句会变得复杂。通过不断尝试和调整,学会了简洁地使用别名。这个过程中,我逐渐认识到良好的代码习惯是多么重要,它不仅能减少错误,还能让自己和其他人更容易理解(就像之前写编程代码时,老师总是强调说要可读性,但是以前总是没那么在意,这次真的是大有感悟了)。
总的来说,这次实验不仅仅是技术上的提升,更是一次心态上的成长(每一次实验都是一次挑战,每次看到题目就会有点害怕,但是一步步写下来,发现有些东西只有你去做了,才知道是什么样子的,也许过程会比较艰难,但是得到结果的那一刻确实是开心的)。面对各种问题和挑战,我不再急于求成,而是耐心地寻找解决方案,询问身边的同学或者是借助不同的人工智能,并从中总结经验教训。未来面对更复杂的数据库任务时,我相信自己能够更加从容应对,不再惧怕遇到的问题。当然,也希望自己有一天可以不借助任何工具独立地完成一个实验,那时候应该是最有成就感的了吧。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2378995.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何通过交流沟通实现闭环思考模式不断实现自身强效赋能-250517

感谢一直以来和我交流沟通的朋友们。 闭环思考 文字部分(25-05-04)这一天是青年节,在这一天与青年朋友交流这个是事先规划好的: “可以猜一猜,博士会被撤销吗?导师会被处理吗?千万不要回复,放心里,过段时间看结果,看看自己预估社会能力如何。 观察社会新闻,可以用…

Python 3.11详细安装步骤(包含安装包)Python 3.11详细图文安装教程

文章目录 前言Python 3.11介绍Python 3.11安装包下载Python 3.11安装步骤 前言 作为当前最热门的编程语言之一&#xff0c;Python 3.11 不仅拥有简洁优雅的语法&#xff0c;还在性能上实现了飞跃&#xff0c;代码运行速度提升显著。无论是初入编程的小白&#xff0c;还是经验丰…

一个指令,让任意 AI 快速生成思维导图

大家好&#xff0c;我是安仔&#xff0c;一个每天都在压榨 AI 的躺平打工人。 今天分享一个 AI 办公小技巧&#xff0c;让你用一个指令让 AI 生成思维导图。 DeepSeek、Kimi、豆包都可以哈 &#xff5e; KimiXMind 安仔经常用 XMind 来绘制思维导图&#xff0c;但是 AI 是没…

FPGA图像处理(六)------ 图像腐蚀and图像膨胀

默认迭代次数为1&#xff0c;只进行一次腐蚀、膨胀 一、图像腐蚀 1.相关定义 2.图像腐蚀效果图 3.fpga实现 彩色图像灰度化&#xff0c;灰度图像二值化&#xff0c;图像缓存生成滤波模块&#xff08;3*3&#xff09;&#xff0c;图像腐蚀算法 timescale 1ns / 1ps // // Des…

LVDS系列12:Xilinx Ultrascale系可编程输入延迟(二)

本节讲解Ultrascale IDELAYE3的参数&#xff1b;  IDELAYE3参数&#xff1a; REFCLK_FREQUENCY&#xff1a;如果使用COUNT模式&#xff0c;保持300MHz的默认值即可&#xff1b; 如果使用TIME模式&#xff0c;则该值与IDELAYCTRL参考时钟要匹配&#xff1b; DELAY_SRC&#…

ARM (Attention Refinement Module)

ARM模块【来源于BiSeNet】&#xff1a;细化特征图的注意力&#xff0c;增强重要特征并抑制不重要的特征。 Attention Refinement Module (ARM) 详解 ARM (Attention Refinement Module) 是 BiSeNet 中用于增强特征表示的关键模块&#xff0c;它通过注意力机制来细化特征图&…

国产免费工作流引擎star 6.5k,Warm-Flow升级1.7.2(新增案例和修复缺陷)

文章目录 主要更新内容项目介绍功能思维导图设计器流程图演示地址官网Warm-Flow视频 主要更新内容 [feat] 开启流程实例&#xff0c;新增流程定义是否存在校验[feat] 新增合同签订流程案例[feat] 新增企业采购流程案例[update] mybatis-plus逻辑删除&#xff0c;删除值和未删除…

前端二进制数据指南:从 ArrayBuffer 到高级流处理

前端开发中&#xff0c;二进制数据是处理文件、图像、音视频、网络通信等场景的基础。以下是核心概念和用途的通俗解释&#xff1a; 前端二进制数据介绍 1. 什么是前端二进制数据&#xff1f; 指计算机原始的 0 和 1 格式的数据&#xff08;比如一张图片的底层代码&#xff…

如何选择高性价比的 1T 服务器租用服务​

选择高性价比的 1T 服务器租用服务​&#xff0c;可参考以下内容&#xff1a; 1、根据需求选配置​ 明确自身业务需求是关键。若为小型网站或轻量级应用&#xff0c;数据存储与处理需求不高&#xff0c;选择基础配置服务器即可。如个人博客网站&#xff0c;普通的 Intel Xeon …

一个可拖拉实现列表排序的WPF开源控件

从零学习构建一个完整的系统 推荐一个可通过拖拉&#xff0c;来实现列表元素的排序的WPF控件。 项目简介 gong-wpf-dragdrop是一个开源的.NET项目&#xff0c;用于在WPF应用程序中实现拖放功能&#xff0c;可以让开发人员快速、简单的实现拖放的操作功能。 可以在同一控件内…

AI-02a5a6.神经网络-与学习相关的技巧-批量归一化

批量归一化 Batch Normalization 设置合适的权重初始值&#xff0c;则各层的激活值分布会有适当的广度&#xff0c;从而可以顺利的进行学习。那么&#xff0c;更进一步&#xff0c;强制性的调整激活值的分布&#xff0c;是的各层拥有适当的广度呢&#xff1f;批量归一化&#…

SVGPlay:一次 CodeBuddy 主动构建的动画工具之旅

我正在参加CodeBuddy「首席试玩官」内容创作大赛&#xff0c;本文所使用的 CodeBuddy 免费下载链接&#xff1a;腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴 背景与想法 我一直对 SVG 图标的动画处理有浓厚兴趣&#xff0c;特别是描边、渐变、交互等效果能为图标增添许…

自己手写tomcat项目

一&#xff1a;Servlet的原理 在Servlet(接口中)有&#xff1a; 1.init():初始化servlet 2.getServletConfig()&#xff1a;获取当前servlet的配置信息 3.service():服务器&#xff08;在HttpServlet中实现&#xff0c;目的是为了更好的匹配http的请求方式&#xff09; 4.g…

2025年渗透测试面试题总结-安恒[实习]安全工程师(题目+回答)

网络安全领域各种资源&#xff0c;学习文档&#xff0c;以及工具分享、前沿信息分享、POC、EXP分享。不定期分享各种好玩的项目及好用的工具&#xff0c;欢迎关注。 目录 安恒[实习]安全工程师 一面 1. 自我介绍 2. 前两段实习做了些什么 3. 中等难度的算法题 4. Java的C…

生成对抗网络(Generative Adversarial Networks ,GAN)

生成对抗网络是深度学习领域最具革命性的生成模型之一。 一 GAN框架 1.1组成 构造生成器&#xff08;G&#xff09;与判别器&#xff08;D&#xff09;进行动态对抗&#xff0c;实现数据的无监督生成。 G&#xff08;造假者&#xff09;&#xff1a;接收噪声 ​&#xff0c…

在WSL中的Ubuntu发行版上安装Anaconda、CUDA、CUDNN和TensorRT

在Windows 11的WSL&#xff08;Windows Subsystem for Linux&#xff09;环境中安装Anaconda、CUDA、CUDNN和TensorRT的详细步骤整理&#xff1a; 本文是用cuda12.4与CuDNN 8.9.7 和 TensorRT 9.1.0 及以上对应 一、前言&#xff08;准备&#xff09; 确保电脑上有NVIDIA GPU…

代码随想录算法训练营第60期第三十九天打卡

大家好&#xff0c;我们今天继续讲解我们的动态规划章节&#xff0c;昨天我们讲到了动态规划章节的背包问题&#xff0c;昨天讲解的主要是0-1背包问题&#xff0c;那么今天我们可能就会涉及到完全背包问题&#xff0c;昨天的题目有一道叫做分割等和子集&#xff0c;今天应该会有…

计算机网络体系结构深度解析:从理论到实践的全面梳理

计算机网络体系结构深度解析&#xff1a;从理论到实践的全面梳理 本系列博客源自作者在大二期末复习计算机网络时所记录笔记&#xff0c;看的视频资料是B站湖科大教书匠的计算机网络微课堂&#xff0c;祝愿大家期末都能考一个好成绩&#xff01; 一、常见计算机网络体系结构 …

【教程】Docker更换存储位置

转载请注明出处&#xff1a;小锋学长生活大爆炸[xfxuezhagn.cn] 如果本文帮助到了你&#xff0c;欢迎[点赞、收藏、关注]哦~ 目录 背景说明 更换教程 1. 停止 Docker 服务 2. 创建新的存储目录 3. 编辑 Docker 配置文件 4. 迁移已有数据到新位置 5. 启动 Docker 服务 6…

鸿蒙Next API17学习新特性之组件可见区域变化事件新增支持设置事件的回调参数,限制它的执行间隔

概述 鸿蒙开发文档更新的非常快&#xff0c;对应我们开发者的学习能力也要求非常高&#xff0c;今天这篇文章给大家分享一下鸿蒙API17中更新的新特性学习。 鸿蒙 Next 的组件可见区域变化事件在最新的 API Version 17 中得到了增强&#xff0c;新增了支持设置事件的回调参数的…