当前位置: 首页 > news >正文

SQL实验 带函数查询和综合查询

一、实验目的

1.掌握Management Studio的使用。

2.掌握带函数查询和综合查询的使用。

二、实验内容及要求

1.统计年龄大于30岁的学生的人数。

--统计年龄大于30岁的学生的人数。SELECT COUNT(*) AS 人数FROM StudentWHERE (datepart(year,getdate())-datepart(year,Birthday))>30

2.统计数据结构有多少人80分或以上。

--统计数据结构有多少人80分或以上。SELECT COUNT(*) AS 人数FROM StudentGradeWHERE Course_id IN(SELECT Course_idFROM CourseWHERE Course_name='数据结构')AND Grade>80

3.查“0203”课程的最高分的学生的学号。(请分别用TOP1和函数来进行查询,并分析它们的区别)

--查询“0203”课程的最高分的学生的学号。(请分别用TOP1和函数来进行查询,并分析它们的区别)--Top 1SELECT Top 1 Stu_idFROM StudentGradeWHERE Course_id='0203'--Max 函数SELECT Stu_idFROM StudentGradeWHERE Grade=(SELECT Max(Grade) FROM StudentGrade)AND Course_id='0203'

4.统计各系开设班级的数目(系名称、班级数目),并创建结果表。(需考虑没有班级的系)

--统计各系开设班级的数目(系名称、班级数目),并创建结果表。(需考虑没有班级的系)select Depar_name as 系名称,count(*) as 班级数目 into DeparNumberfrom Deparment LEFT JOIN Class ON Deparment.Depar_id=Class.Depar_idgroup by Depar_name

5.统计各门课程的选修人数,并按人数降序排列,找出排名前三位的课程。(TOP 3,但不能处理人数并列的情况。试考虑更好的方法。)

--统计各门课程的选修人数,并按人数降序排列,找出排名前三位的课程。(TOP 3,但不能处理人数并列的情况。试考虑更好的方法。)--Top 3SELECT Top 3 Course_id ,COUNT(*) AS 选修人数FROM StudentGradeGROUP BY Course_id ORDER BY 选修人数 DESC--优化方案
--内部查询首先在选课表中进行分组,按照课程编号计算每门课程的选修人数,并使用 RANK() 窗口函数为每个课程编号进行排名,从而获得对应的排名号。--外部查询该查询从内部查询的结果集(被命名为结果表)获取每门课程的编号和选修人数,并选择排名前三名的课程数据输出。SELECT Course_idFROM (SELECT Course_id,COUNT(*) AS 选修人数,RANK() OVER (ORDER BY COUNT(*) DESC) AS 名次FROM StudentGradeGROUP BY Course_id) AS 结果表WHERE 结果表.名次<=3

6.统计每科目的最高分、最低分,平均分、总分,并以中文列名显示。

--统计每科目的最高分、最低分,平均分、总分,并以中文列名显示。SELECTCourse.Course_name AS 学科,MAX (StudentGrade.Grade) AS 最高分,MIN (StudentGrade.Grade) AS 最低分,AVG (StudentGrade.Grade) AS 平均分,SUM (StudentGrade.Grade) AS 总分FROM Course JOIN StudentGrade ON Course.Course_id=StudentGrade.Course_idGROUP BY Course.Course_name

7【选做】所有成绩都在70分以上的学生姓名(提示:使用子查询。需考虑未选课的学生)

--【选做】所有成绩都在70分以上的学生姓名(提示:使用子查询。需考虑未选课的学生)。--这里使用了子查询来查找未选课的学生,并过滤掉成绩低于70分的学生。如果没有任何一门成绩低于70分,则该学生将被返回SELECT Student.Stu_nameFROM StudentWHERE NOT EXISTS (SELECT *FROM StudentGradeWHERE StudentGrade.Stu_id = Student.Stu_id AND StudentGrade.Grade < 70)

8【选做】“数据库”课程得最高分的学生的学号、姓名和所在系
 

--【选做】“数据库”课程得最高分的学生的学号、姓名和所在系。--材料无“数据库”将其改为“数据库原理”SELECT Top 1 Student.Stu_id,Student.Stu_name,Depar_nameFROM Student JOIN StudentGrade ON Student.Stu_id=StudentGrade.Stu_idJOIN Class ON Class.Class_id=Student.Class_idJOIN Deparment ON Class.Depar_id=Deparment.Depar_idJOIN Course ON StudentGrade.Course_id=Course.Course_idWHERE Course_name='数据库原理'GROUP BY Student.Stu_id,Student.Stu_name,Depar_nameORDER BY MAX(StudentGrade.Grade)DESC

9【选做】至少选修了两门课及以上的学生姓名和性别
 

--【选做】至少选修了两门课及以上的学生姓名和性别。
--内部子查询先对学生进行分组(GROUP),并求出(COUNT)每个学生选修不同科目的数量,再(HAVING)筛出符合条件的学生SELECT DISTINCT Stu_name ,Stu_sexFROM Student JOIN StudentGrade ON Student.Stu_id=StudentGrade.Stu_idJOIN Course ON StudentGrade.Course_id=Course.Course_idWHERE Student.Stu_id IN (SELECT StudentGrade.Stu_idFROM StudentGradeGROUP BY StudentGrade.Stu_idHAVING COUNT(DISTINCT StudentGrade.Course_id) >= 2)

相关文章:

SQL实验 带函数查询和综合查询

一、实验目的 1&#xff0e;掌握Management Studio的使用。 2&#xff0e;掌握带函数查询和综合查询的使用。 二、实验内容及要求 1&#xff0e;统计年龄大于30岁的学生的人数。 --统计年龄大于30岁的学生的人数。SELECT COUNT(*) AS 人数FROM StudentWHERE (datepart(yea…...

【前端每日基础】day34——HTTP和HTTPS

HTTP&#xff08;Hypertext Transfer Protocol&#xff09;和HTTPS&#xff08;Hypertext Transfer Protocol Secure&#xff09;是互联网通信协议&#xff0c;用于在Web浏览器和Web服务器之间传输数据。以下是对HTTP和HTTPS的详细介绍&#xff1a; HTTP&#xff08;Hypertext…...

go mongo 唯一索引创建

1. 登录mongo&#xff0c;创建数据库 mongosh -u $username -p $password use test 2. 查看集合索引 db.$collection_name.getIndexes() 为不存在的集合创建字段唯一索引 package mainimport ("context""fmt""log""time""go…...

微信小程序如何进行页面跳转

微信小程序中的页面跳转可以通过多种方式实现&#xff0c;以下是几种主要的跳转方式及其详细解释&#xff1a; wx.navigateTo 功能&#xff1a;保留当前页面&#xff0c;跳转到应用内的某个页面。特点&#xff1a; 可以在新页面使用wx.navigateBack返回原页面。每跳转一个新页…...

信息标记形式 (XML, JSON, YAML)

文章目录 &#x1f5a5;️介绍&#x1f5a5;️三种形式&#x1f3f7;️XML (Extensible Markup Language)&#x1f516;规范&#x1f516;注释&#x1f516;举例&#x1f516;其他 &#x1f3f7;️JSON (JavaScript Object Notation)&#x1f516;规范&#x1f516;注释&#x…...

C语言:学生成绩管理系统(含源代码)

一.功能 二.源代码 #include <stdio.h> #include <stdlib.h> #include <string.h> #define MAX_NUM 100 typedef struct {char no[30];char name[10];char sex[10];char phone[20];float cyuyan;float computer;float datastruct; } *student, student1;typ…...

MySQL 导出导入的101个坑

最近接到一个业务自行运维的MySQL库迁移至标准化环境的需求&#xff0c;库不大&#xff0c;迁移方式也很简单&#xff0c;由开发用myqldump导出数据、DBA导入&#xff0c;但迁移过程坎坷十足&#xff0c;记录一下遇到的各项报错及后续迁移注意事项。 一、 概要 空间问题源与目…...

OpenCv之简单的人脸识别项目(人脸提取页面)

人脸识别 准备五、人脸提取页面1.导入所需的包2.设置窗口2.1定义窗口外观和大小2.2设置窗口背景2.2.1设置背景图片2.2.2创建label控件 3.定义单人脸提取脚本4.定义多人脸提取脚本5.创建一个退出对话框6.按钮设计6.1单人脸提取按钮6.2多人脸提取按钮6.3返回按钮 7.定义关键函数8…...

linux 内核映像差异介绍:vmlinux、zImage、zbImage、image、uImage等

一、背景 Linux内核是整个Linux操作系统的核心部分&#xff0c;它是一个负责与硬件直接交互的软件层&#xff0c;并且提供多种服务和接口&#xff0c;让用户程序能够方便地使用硬件资源。 当我们编译自定义内核时&#xff0c;可以将其生成为以下内核映像之一&#xff1a;vmli…...

【Linux-INPUT输入的子系统】

Linux-INPUT输入的子系统 ■ input 子系统简介■ input 驱动编写流程■ 事件类型 ■ ■ input 子系统简介 input 子系统就是管理输入的子系统&#xff0c; input 子系统分为 input 驱动层、 input 核心层、 input 事件处理层&#xff0c;最终给用户空间提供可访问的设备节点 …...

密码加密及验证

目录 为什么需要加密&#xff1f; 密码算法分类 对称密码算法 非对称密码算法 摘要算法 DigestUtils MD5在线解密工具原理 实现用户密码加密 代码实现 为什么需要加密&#xff1f; 在MySQL数据库中&#xff0c;我们常常需要对用户密码、身份证号、手机号码等敏感信息进…...

找出字符串中出现最多次数的字符以及出现的次数

str.charAt(i) 是JavaScript中获取字符串中特定位置字符的方法&#xff0c;表示获取当前的字符。 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-wi…...

如何看待央行买卖长期国债?

央行远比大家想象中的要渴求货币宽松。 引子 今年以来&#xff0c;有不少关于“央行买卖长期国债”的讨论&#xff0c;前些时候关注点在“买”&#xff0c;最近关注点在“卖”。 然而&#xff0c;市场上的讨论采用了十分粗糙和松散的“自然语言”&#xff0c;所以&#xff0…...

MATLAB算法实战应用案例精讲-【数模应用】Turf组合模型(附MATLAB、python和R语言代码实现)

目录 几个高频面试题目 如何以最小的成本覆盖到最大的消费群体? 应用场景 TURF举例...

android源码下载编译模拟器运行

安卓aosp源码下载&#xff0c;编译&#xff0c;模拟器运行 virtualbox7 安装ubuntu20.04&#xff0c;ubuntu22.04 编译android aosp 源码可以&#xff0c;但是模拟器跑不了&#xff0c;哪个版本都是要么黑屏&#xff0c;要么整个vbox虚拟机闪退。解决方案使用vmware17 ##拯救…...

Golang:Sirupsen/logrus是一个日志库

Sirupsen/logrus是一个日志库 文档 https://github.com/Sirupsen/logrus 安装 go get github.com/sirupsen/logrus代码示例 package mainimport ("github.com/sirupsen/logrus" )func main() {var log logrus.New()log.Trace("Something very low level.&…...

Android Studio插件开发 - Dora SDK的IDE插件

IDE插件开发简介 Android Studio是一种常用的集成开发环境&#xff08;IDE&#xff09;&#xff0c;用于开发Android应用程序。它提供了许多功能和工具&#xff0c;可以帮助开发人员更轻松地构建和调试Android应用程序。 如果你想开发Android Studio插件&#xff0c;以下是一…...

【mybatis】缓存

一级缓存和二级缓存 一级缓存是SqlSession级别的&#xff0c;通过同一个SqlSession查询的数据会被缓存&#xff0c;下次查询相同的数据&#xff0c;就会从一级缓存中直接获取&#xff0c;不会从数据库重新查询。一级缓存默认是开启 使一级缓存失效的四种情况&#xff1a; 11.1…...

自定义类型:结构体类型

在学习完指针相关的知识后将进入到c语言中又一大重点——自定义类型&#xff0c;在之前学习操作符以及指针时我们对自定义类型中的结构体类型有了初步的了解&#xff0c;学习了结构体类型的创建以及如何创建结构体变量&#xff0c;还有结构体成员操作符的使用&#xff0c;现在我…...

C++对象移动

在某些情况下,对象拷贝后就立即被销毁了,这时利用新标准(C11)提供的对象移动而非拷贝将大幅提升性能. 1.右值引用 为了支持移动操作,c11新增了一种引用 - 右值引用(rvalue reference)。这种引用必须指向右值,使用&&声明。 右值引用只能引用临时变量或常量值. 右值引用…...

机械工程论文降AI工具免费推荐:2026年机械工程毕业论文降AI知网维普亲测4.8元达标完整指南

机械工程论文降AI工具免费推荐&#xff1a;2026年机械工程毕业论文降AI知网维普亲测4.8元达标完整指南 帮室友处理过机械工程论文降AI&#xff0c;前前后后试了四款工具&#xff0c;最后固定在嘎嘎降AI&#xff08;www.aigcleaner.com&#xff09;。 4.8元&#xff0c;达标率…...

【2024全球重大社会事件回溯实证】:Perplexity搜索结果偏差率对比测试(含Reuters、AP、路透中文网基准数据)

更多请点击&#xff1a; https://kaifayun.com 第一章&#xff1a;【2024全球重大社会事件回溯实证】&#xff1a;Perplexity搜索结果偏差率对比测试&#xff08;含Reuters、AP、路透中文网基准数据&#xff09; 为量化AI驱动型搜索引擎在重大社会事件报道中的信息保真度&…...

如何用OpenCATS免费开源招聘系统3天搭建企业级人才库

如何用OpenCATS免费开源招聘系统3天搭建企业级人才库 【免费下载链接】OpenCATS Open-source applicant tracking system (ATS) and recruitment CRM for staffing agencies and hiring teams. 项目地址: https://gitcode.com/gh_mirrors/op/OpenCATS 还在为招聘流程混乱…...

用ESP32和EC11编码器做个无极调光台灯,Arduino代码全解析(附防抖电路)

用ESP32和EC11编码器打造无极调光台灯&#xff1a;从硬件防抖到代码优化的完整指南 在智能家居DIY领域&#xff0c;无极调光台灯一直是创客们热衷的项目之一。传统旋钮调光台灯存在机械磨损、精度有限等问题&#xff0c;而基于ESP32和EC11编码器的数字解决方案不仅寿命更长&…...

别再为乱码头疼了!Linux服务器离线部署LibreOffice与中文字体配置全记录

Linux服务器离线部署LibreOffice与中文字体配置实战指南 在Linux服务器环境下处理文档时&#xff0c;中文乱码问题堪称开发者的"噩梦"。想象一下&#xff0c;当你费尽周折将报表导出为PDF&#xff0c;却发现所有中文内容变成了一堆"口口口"&#xff0c;那种…...

DS-PAW势函数计算全流程:从自洽到可视化分析

1. 从自洽到势函数&#xff1a;理解材料静电环境的关键一步在材料计算领域&#xff0c;我们常常听到“第一性原理计算”这个词&#xff0c;它意味着从最基本的物理定律出发&#xff0c;不依赖任何经验参数&#xff0c;去预测材料的性质。DS-PAW作为一款国产的平面波密度泛函理论…...

UE5运行时动态调整游戏视口:解决UI遮挡导致物体位置偏移的实战方案

UE5运行时动态调整游戏视口&#xff1a;解决UI遮挡导致物体位置偏移的实战方案 当你在UE5项目中设计了一个精美的HUD界面&#xff0c;却发现那些半透明的UI元素正在悄悄改变游戏世界的坐标规则——原本应该出现在屏幕中心的角色突然偏离了位置。这不是视觉错觉&#xff0c;而是…...

保姆级教程:在S32G274ARDB2上,用IPCF点亮RGB LED(附源码解析)

从零玩转S32G2核间通信&#xff1a;手把手实现IPCF控制RGB灯效 拿到S32G274A开发板的第一天&#xff0c;我就被那个三色RGB LED吸引了——这不仅是硬件调试的指示灯&#xff0c;更是验证核间通信的绝佳媒介。作为多核异构处理器&#xff0c;S32G2的A53与M7核心如何协同工作&…...

2026年降AI工具万方检测专项测试:五款工具万方AIGC检测通过率完整横评

2026年降AI工具万方检测专项测试&#xff1a;五款工具万方AIGC检测通过率完整横评 选工具之前做了一周功课&#xff0c;试用了三款&#xff0c;最后定了嘎嘎降AI&#xff08;www.aigcleaner.com&#xff09;。 4.8元&#xff0c;知网AI率从61%降到了5.3%&#xff0c;达标率99…...

56、CAN总线RC低通滤波器截止频率计算与实战

CAN总线RC低通滤波器截止频率计算与实战 一、一个让我熬夜三天的CAN通信故障 去年做某车载ECU项目,CAN总线在电机启动瞬间频繁丢帧。示波器抓波形,CAN_H对地毛刺高达8V,持续时间约200ns。团队里有人提议“加磁珠”,有人喊“上共模扼流圈”。我翻出TI的AN-2298应用笔记,发…...