当前位置: 首页 > 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)。这种引用必须指向右值,使用&&声明。 右值引用只能引用临时变量或常量值. 右值引用…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

工程地质软件市场:发展现状、趋势与策略建议

一、引言 在工程建设领域&#xff0c;准确把握地质条件是确保项目顺利推进和安全运营的关键。工程地质软件作为处理、分析、模拟和展示工程地质数据的重要工具&#xff0c;正发挥着日益重要的作用。它凭借强大的数据处理能力、三维建模功能、空间分析工具和可视化展示手段&…...

Python爬虫(一):爬虫伪装

一、网站防爬机制概述 在当今互联网环境中&#xff0c;具有一定规模或盈利性质的网站几乎都实施了各种防爬措施。这些措施主要分为两大类&#xff1a; 身份验证机制&#xff1a;直接将未经授权的爬虫阻挡在外反爬技术体系&#xff1a;通过各种技术手段增加爬虫获取数据的难度…...

深度学习习题2

1.如果增加神经网络的宽度&#xff0c;精确度会增加到一个特定阈值后&#xff0c;便开始降低。造成这一现象的可能原因是什么&#xff1f; A、即使增加卷积核的数量&#xff0c;只有少部分的核会被用作预测 B、当卷积核数量增加时&#xff0c;神经网络的预测能力会降低 C、当卷…...

JavaScript基础-API 和 Web API

在学习JavaScript的过程中&#xff0c;理解API&#xff08;应用程序接口&#xff09;和Web API的概念及其应用是非常重要的。这些工具极大地扩展了JavaScript的功能&#xff0c;使得开发者能够创建出功能丰富、交互性强的Web应用程序。本文将深入探讨JavaScript中的API与Web AP…...

【JavaSE】多线程基础学习笔记

多线程基础 -线程相关概念 程序&#xff08;Program&#xff09; 是为完成特定任务、用某种语言编写的一组指令的集合简单的说:就是我们写的代码 进程 进程是指运行中的程序&#xff0c;比如我们使用QQ&#xff0c;就启动了一个进程&#xff0c;操作系统就会为该进程分配内存…...

c# 局部函数 定义、功能与示例

C# 局部函数&#xff1a;定义、功能与示例 1. 定义与功能 局部函数&#xff08;Local Function&#xff09;是嵌套在另一个方法内部的私有方法&#xff0c;仅在包含它的方法内可见。 • 作用&#xff1a;封装仅用于当前方法的逻辑&#xff0c;避免污染类作用域&#xff0c;提升…...

【WebSocket】SpringBoot项目中使用WebSocket

1. 导入坐标 如果springboot父工程没有加入websocket的起步依赖&#xff0c;添加它的坐标的时候需要带上版本号。 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dep…...

何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡

何谓AI编程【02】AI编程官网以优雅草星云智控为例建设实践-完善顶部-建立各项子页-调整排版-优雅草卓伊凡 背景 我们以建设星云智控官网来做AI编程实践&#xff0c;很多人以为AI已经强大到不需要程序员了&#xff0c;其实不是&#xff0c;AI更加需要程序员&#xff0c;普通人…...

深度解析:etcd 在 Milvus 向量数据库中的关键作用

目录 &#x1f680; 深度解析&#xff1a;etcd 在 Milvus 向量数据库中的关键作用 &#x1f4a1; 什么是 etcd&#xff1f; &#x1f9e0; Milvus 架构简介 &#x1f4e6; etcd 在 Milvus 中的核心作用 &#x1f527; 实际工作流程示意 ⚠️ 如果 etcd 出现问题会怎样&am…...