【SQL实验】高级查询(难点.三)含附加数据库操作
完整代码在文章末尾【代码是自己的解答,并非标准答案,也有可能写错,文中可能会有不准确或待完善之处,恳请各位读者不吝批评指正,共同促进学习交流】
将素材中的“学生管理”数据库附加到SQL SERVER中,完成以下操作:
附加数据库操作:
打开SSMS,在 对象资源管理器中,右击数据库,选择附加

在弹出的 附加数据库窗口中,点击 Add(添加)按钮

浏览到存放数据库文件(.mdf 和 .ldf 文件)的位置。

选择数据库的 .mdf 文件(主数据文件),然后点击 确定

在弹出的窗口中,你会看到数据库的相关信息(如 .mdf 文件的路径、日志文件等)。确认信息正确。如果数据库日志文件(.ldf)也没有出现,系统会自动识别并列出。确认无误后,点击 OK 进行附加。

数据库附加完成

个人因为版本问题附加还原不了,所以导入学生管理.xls文件
导入学生管理.xls文件操作:
右键点击“数据库”节点,选择“新建数据库”。
在弹出的窗口中,设置数据库名称为“学生管理”,点击“确定”完成创建

浏览选择文件作为数据库文件路径







导入过程不知道出来什么问题【这个我不知道】,但不要担心,这个步骤是没问题的。
把有问题的删除or重命名
题目:
1.查询大于入学分数平均值的男生的人数

虽然有标红但不影响运行
--1.查询大于入学分数平均值的男生的人数。
SELECT COUNT(*) AS 男生人数
FROM 学生信息
WHERE 性别 = '男'AND 入学分数 > (SELECT AVG(入学分数) FROM 学生信息)
2.查询最受学生欢迎(选课人数最多)的课程号、课程名。

外部查询使用 WHERE 条件,筛选出与内部子查询结果相同的课程号,并返回该课程的号和名称
SELECT 课程号,课程名
FROM 课程信息
WHERE 课程信息.课程号 = (SELECT TOP 1 学生成绩.课程号FROM 学生成绩 GROUP BY 学生成绩.课程号ORDER BY COUNT(学生成绩.学号) DESC
)
3.查询学生考的最好的那门课程情况,显示学号、课程号、成绩(相关子查询)。

外部查询通过 WHERE a.成绩 = ... 匹配最高成绩的记录并返回该课程的学号、课程号和成绩信息。
SELECT 学号, 课程号, 成绩
FROM 学生成绩 a
WHERE a.成绩 = (SELECT MAX(b.成绩) FROM 学生成绩 b)
4.查询“王岩”同学具有相同籍贯的同学,显示姓名,籍贯(使用exists)。

EXISTS 子查询检查条件是否存在
s1.姓名 <> '王岩':排除“王岩”本人,只显示其他同学
SELECT s1.姓名, s1.籍贯
FROM 学生信息 AS s1
WHERE EXISTS (SELECT *FROM 学生信息 AS s2WHERE s1.籍贯 = s2.籍贯 AND s2.姓名 = '王岩'AND s1.姓名 <> '王岩'
)
5.查询选修了'1001'号课程的学生姓名(使用exists)。

WHERE 学生信息.学号 = 学生成绩.学号:将 学生信息 和 学生成绩 表关联,以确定哪些学生选修了该课程
SELECT 姓名
FROM 学生信息
WHERE EXISTS (SELECT *FROM 学生成绩WHERE 学生信息.学号 = 学生成绩.学号AND 学生成绩.课程号 = 1001
)
完整代码:
--1.查询大于入学分数平均值的男生的人数。
SELECT COUNT(*) AS 男生人数
FROM 学生信息
WHERE 性别 = '男'AND 入学分数 > (SELECT AVG(入学分数) FROM 学生信息)--2.查询最受学生欢迎(选课人数最多)的课程号、课程名
SELECT 课程号,课程名
FROM 课程信息
WHERE 课程信息.课程号=(SELECT TOP 1 学生成绩.课程号FROM 学生成绩 GROUP BY 学生成绩.课程号ORDER BY COUNT(学生成绩.学号) DESC)--3.查询学生考的最好的那门课程情况,显示学号、课程号、成绩(相关子查询)。
SELECT 学号, 课程号, 成绩
FROM 学生成绩 a
WHERE a.成绩 = (SELECT MAX(b.成绩) FROM 学生成绩 b)--4.查询“王岩”同学具有相同籍贯的同学,显示姓名,籍贯(使用exists)。
SELECT s1.姓名, s1.籍贯
FROM 学生信息 AS s1
WHERE EXISTS (SELECT *FROM 学生信息 AS s2WHERE s1.籍贯 = s2.籍贯 AND s2.姓名 = '王岩'AND s1.姓名 <> '王岩'
)--5.查询选修了'1001'号课程的学生姓名(使用exists)。
SELECT 姓名
FROM 学生信息
WHERE EXISTS (SELECT *FROM 学生成绩WHERE 学生信息.学号 = 学生成绩.学号AND 学生成绩.课程号 = 1001
)
相关文章:
【SQL实验】高级查询(难点.三)含附加数据库操作
完整代码在文章末尾【代码是自己的解答,并非标准答案,也有可能写错,文中可能会有不准确或待完善之处,恳请各位读者不吝批评指正,共同促进学习交流】 将素材中的“学生管理”数据库附加到SQL SERVER中,完成以…...
qt QFileSystemModel详解
1、概述 QFileSystemModel是Qt框架中的一个关键类,它继承自QAbstractItemModel,专门用于在Qt应用程序中展示文件系统的数据。这个模型提供了一个方便的接口,使得开发者可以轻松地在应用程序中集成文件和目录的树形结构,并通过视图…...
element plus中修改el-table的样式
文章目录 前情提要相关环境package.jsonvue代码结果 方式一直接看代码 方式二直接看代码 前情提要 因为项目中用到el-table的时候,需要将el-table表格的样式进行修改,将整个表格的背景颜色从白色变成透明,使得表格变得透明之后,展…...
深入理解封装与接口:Java程序设计的核心思想与最佳实践
目录 一、封装的优点 二、接口与默认方法 三、总结 在面向对象编程(OOP)中,封装(Encapsulation)是一个核心概念,Java对其进行了良好的支持。封装不仅有助于提高代码的安全性,还能够增强代码的…...
linux 下调试 mpu6050 三轴加速度
供自己备忘; 1. 参考资料: b 站视频 https://www.bilibili.com/video/BV1cL4y1x7FA/?spm_id_from333.337.search-card.all.click&vd_sourced7a07b8689c9e646f0214227c06f304c csdn 其它博客 https://blog.csdn.net/qq_65198598/article/detail…...
C语言心型代码解析
方法一 心型极坐标方程 爱心代码你真的理解吗 笛卡尔的心型公式: for (y 1.5; y > -1.5; y - 0.1) for (x -1.5; x < 1.5; x 0.05) 代码里面用了二个for循环,第一个代表y轴,第二个代表x轴 二个增加的单位不同,能使得…...
【LeetCode】【算法】647. 回文子串
LeetCode 647.回文子串 题目描述 给你一个字符串s,请你统计并返回这个字符串中回文子串的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串是字符串中的由连续字符组成的一个序列。 思路 思路:中心拓展法 中心拓展法的意思是说…...
介绍6种常见的基于知识图谱推荐算法的类型和各自的优缺点
基于知识图谱的推荐算法有多种,每种算法各有其优点和缺点。下面是一些常见的基于知识图谱的推荐算法及其分析: 基于邻域的协同过滤(Collaborative Filtering) 描述:通过分析用户之间的相似性或项目之间的相似性来进行…...
使用python拟合二元曲线系数
python import numpy as np import pandas as pd注: xlsx 表格中 有 压力P,流量值Q,温度值 K; df pd.read_excel("./i100-10000slm.xlsx",usecols[p1,molboxQm,Dek]) #print(df.head())#column_data df[p1] # 获取行数…...
go 集成viper 配置管理
安装viper go get github.com/spf13/viper 配置文件 读取配置文件 package confimport ("fmt""github.com/spf13/viper" )func Properties() {viper.SetConfigName("application")viper.SetConfigType("yml")viper.AddConfigPath(&q…...
Java:数据结构-再谈String类
字符串常量池 首先我们来思考这段代码,为什么运行结果一个是true,一个是false呢? public class Test {public static void main(String[] args) {String s1"123";String s2"123";String s3new String("555")…...
斗破QT编程入门系列之二:GUI应用程序设计基础:UI文件(四星斗师)
斗破Qt目录: 斗破Qt编程入门系列之前言:认识Qt:Qt的获取与安装(四星斗师) 斗破QT编程入门系列之一:认识Qt:初步使用(四星斗师) 斗破QT编程入门系列之二:认识…...
微服务实战系列之玩转Docker(十八)
导览 前言Q:如何保障容器云环境下etcd集群的数据安全一、安全机制身份认证必学必看1. 启动参数2. 授权命令3. 开启认证 二、应用实践1. 访问容器2. 查看认证是否开启3. 查看是否已创建用户4. 创建用户5. 开启认证6. 验证是否开启7. 验证数据 结语系列回顾 前言 etc…...
Javascript 获取设备信息 工具
JS获取设备信息(操作系统信息、地理位置、UUID、横竖屏状态、设备类型、网络状态、浏览器信息、生成浏览器指纹、日期、生肖、周几等) Get Device Info Online GitHub - skillnull/DeviceJs: JS获取设备信息(操作系统信息、地理位置、UUID、横竖屏状态、设备类型、网络状态、浏…...
基于开源 AI 智能名片、S2B2C 商城小程序的用户获取成本优化分析
摘要:本文围绕用户获取成本(CAC)这一关键指标展开深入剖析,详细阐述其计算方式,并紧密结合开源 AI 智能名片与 S2B2C 商城小程序的独特性质,从多个维度探讨如何通过挖掘新的获客渠道、巧妙运用私域流量池等…...
仿真APP助力汽车零部件厂商打造核心竞争力
汽车零部件是汽车工业的基石,是构成车辆的基础元素。一辆汽车通常由上万件零部件组成,包括发动机系统、传动系统、制动系统、电子控制系统等,它们共同确保了汽车的安全、可靠性及高效运行。 在汽车产业快速发展的今天,汽车零部件…...
vue实现websocket实时短消息通知
1、原理 websocket就是通过服务器向客户端推送消息,客户端也可以主动向服务器发送消息,是真正的双向平等对话,是一种长连接,只需要通过一次请求进行初始化。 2、事件 onopen: 客户端和服务器建立连接后触发,被称为客…...
tinymce扩展功能:1、行高、段落间距、格式刷;2、视频上传进度条;3、对复制的图片设置尺寸
tinymce扩展功能:1、行高、段落间距、格式刷;2、视频上传进度条;3、对复制的图片设置尺寸 一、需求描述二、行高、段落间距、格式刷插件三、实现视频上传的进度条、对复制的图片设置尺寸 一、需求描述 使用技术: vue2 tinymce5.…...
计算机毕业设计Python+图神经网络手机推荐系统 手机价格预测 手机可视化 手机数据分析 手机爬虫 Django Flask Spark 知识图谱
温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:文末有 CSDN 平台官方提供的学长联系方式的名片! 作者简介:Java领…...
WPF的<ContentControl>控件
在WPF(Windows Presentation Foundation)中,<ContentControl>是一个非常有用的控件,它允许你将内容放入一个控件中,这个内容可以是任何对象。ContentControl的主要特点是它有一个Content属性,你可以将…...
中兴B862AV3.2M盒子救砖记:免拆机、免ADB,一根双公头USB线搞定刷机
中兴B862AV3.2M盒子救砖实战:零门槛线刷方案详解 当你的中兴B862AV3.2M电视盒子突然黑屏、卡在开机LOGO或完全无法响应时,那种焦虑感与技术无助感往往让人手足无措。不同于常规的系统升级,设备"变砖"状态下的恢复操作需要更谨慎的步…...
为什么很多企业,最后真正被拖垮的,其实是“系统维护成本”?——真正昂贵的,从来不是“开发系统”,而是“长期维护复杂系统”
很多企业第一次做商城系统时,通常都会特别关注: 开发成本高不高上线速度快不快功能够不够多页面交付快不快 因为在业务初期。 大家最关注的: 通常都是: 先把系统上线 所以很多企业最开始都会认为: “开发成本” …...
QQ音乐API逆向工程与数据解析技术架构深度解析
QQ音乐API逆向工程与数据解析技术架构深度解析 【免费下载链接】MCQTSS_QQMusic QQ音乐解析 项目地址: https://gitcode.com/gh_mirrors/mc/MCQTSS_QQMusic QQ音乐作为中国领先的数字音乐平台,其API接口设计与数据加密机制一直是技术社区关注的热点。本项目通…...
GLAD:热晕效应
概述激光在大气中传输时部分能量被空气中的分子和气溶胶吸收。被吸收的热量将空气加热,导致气压上升,空气膨胀,空气密度降低,折射率下降,形成一个负透镜,使激光束发散。当存在侧向风时,下风区空…...
Windows右键菜单冒出‘Microsoft WinRT Storage API‘?别慌,用Procmon揪出元凶并修复
Windows右键菜单异常选项排查指南:从Procmon分析到注册表修复 最近不少Windows用户反馈,在右键点击文件或图片时,菜单中突然出现了名为"Microsoft WinRT Storage API"的陌生选项,点击后还会弹出错误提示。这种看似系统级…...
Altium Designer 21 多通道设计保姆级教程:用Repeat语句快速搞定4路蜂鸣器模块
Altium Designer 21 多通道设计实战:4路蜂鸣器模块的高效实现 在复杂的电子系统设计中,我们常常会遇到需要重复使用相同功能模块的情况。传统的手动复制粘贴不仅效率低下,更会给后期维护带来巨大挑战。Altium Designer 21的多通道设计功能正…...
性能优化与profiling技术 - 打造极致性能
引言 性能优化是C语言编程的终极目标之一。作为最接近硬件的高级语言,C语言提供了丰富的优化手段。但盲目优化往往适得其反,科学的性能分析才是优化的前提。 本文将深入讲解性能分析方法、常见优化技巧、以及实用的profiling工具,帮助你写出高性能的C程序。 一、性能测量…...
一款支持USB2.0的4端口集线器芯片
GM8220C是成都振芯科技推出的一款支持USB2.0的4端口集线器芯片。它充分满足USB2.0和充电协议(BC1.1/1.2),具备多种工作模式和充电支持功能,适用于多种设备。1. 主要特征协议兼容:兼容USB2.0协议,并向下兼容…...
2025最新易支付模板源码 全开源 前台+用户中心+后台三合一
内容目录一、详细介绍二、效果展示1.部分代码2.效果图展示三、学习资料下载一、详细介绍 2025最新易支付模板源码 全开源 前台用户中心后台三合一 二、效果展示 1.部分代码 代码如下(示例): case orderList:$sql" 11";if(isse…...
别再只把JTAG当烧录器了!一文搞懂它的边界扫描(Boundary-Scan)到底怎么玩
解锁JTAG边界扫描的隐藏技能:从烧录到硬件诊断的全能玩法 在嵌入式开发领域,JTAG接口常被简化为"烧录工具"的代名词——这种认知偏差让我们错失了它最强大的能力。想象一下:当PCB上某个关键信号无法测量时,当BGA封装的芯…...
