【SQL Server数据库】带函数查询和综合查询(1)

目录

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

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

3.查询“0203”课程的最高分的学生的学号。

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

5.选修了以“01”开头的课程的学生学号,姓名,选课的课程号。

7.所有成绩都在70分以上的学生姓名。

8.“数据库”课程得最高分的学生的学号、姓名和所在系。

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


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

/*(1)*/select count(*) '年龄大于30岁的学生人数'from Student swhere year(getdate()) - year(Birthday) > 30;/*(2)*/select count(*) '年龄大于30岁的学生人数'from Student swhere DATEDIFF(year,Birthday,getdate()) > 30;

查询结果:

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

/*嵌套查询*/select count(*) '数据结构成绩大于或等于80的人数'from StudentGradewhere Grade >= 80and Course_id in (select Course_id from Course where Course_name = '数据结构');/*连接查询*/select count(*) '数据结构成绩大于或等于80的人数'from Course c,StudentGrade sgwhere c.Course_name = '数据结构'and c.Course_id = sg.Course_idand sg.Grade >= 80;

查询结果:

3.查“0203”课程的最高分的学生的学号

(请分别用TOP1和函数来进行查询,并分析它们的区别)

-- TOP1查询select top 1 Stu_idfrom StudentGradewhere Course_id = '0203'order by Grade desc;-- 函数查询select Stu_idfrom StudentGrade sgwhere Course_id = '0203'and Grade = (select max(Grade) from StudentGrade where Course_id = '0203');

        查询结果:

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

(需考虑没有班级的系)

/*根据对应的class_id,如果没有班级就是为null*/select d.Depar_name, count(cl.Class_id) 'classCount'into Depar_classfrom Deparment dleft join Class cl on (d.Depar_id = cl.Depar_id)group by d.Depar_name;

运行结果:

5选修了以“01”开头的课程的学生学号,姓名,选课的课程号。

select distinct s.Stu_id, s.Stu_name, sg.Course_idfrom Student s,StudentGrade sgwhere sg.Course_id like '01%'and s.Stu_id = sg.Stu_id;

部分查询结果:

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

select c.Course_name, max(Grade) '最高分', min(Grade) '最低分', avg(Grade) '平均分', sum(Grade) '总分'from StudentGrade sg,Course cwhere sg.Course_id = c.Course_idgroup by c.Course_name;

部分查询结果:

/*没人选的科目也查出来*/select c.Course_name, max(Grade) '最高分', min(Grade) '最低分', avg(Grade) '平均分', sum(Grade) '总分'from Course cleft join StudentGrade sg on c.Course_id = sg.Course_idgroup by c.Course_name;

部分查询结果:

7.所有成绩都在70分以上的学生姓名。

(提示:使用子查询。需考虑未选课的学生)

select distinct s.Stu_namefrom Student s,StudentGrade sgwhere not exists(select sg.Gradefrom StudentGrade sgwhere sg.Stu_id = s.Stu_idand (sg.Grade is null or sg.Grade < 70))and s.Stu_id = sg.Stu_id;/*最低的一门成绩高于70*/select s.Stu_namefrom Student swhere Stu_id in (select sg.Stu_idfrom StudentGrade sggroup by sg.Stu_idhaving min(Grade) > 70);

查询结果:

8.“数据库”课程得最高分的学生的学号、姓名和所在系。

(提示:使用子查询)

select s.Stu_id, s.Stu_name, d.Depar_namefrom Student s,Class cl,Deparment d,StudentGrade sg,Course cwhere s.Stu_id = sg.Stu_idand d.Depar_id = cl.Depar_idand s.Class_id = cl.Class_idand sg.Course_id = c.Course_idand c.Course_name='数据库'and sg.Grade in (select max(Grade)from StudentGradewhere Course_id = (select Course_id from Course where Course_name = '数据库'));

查询结果:

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

select Stu_name, Stu_sexfrom Studentwhere Stu_id in (select Stu_id from StudentGrade group by Stu_id having count(*) > 2);

部分查询结果:

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

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

相关文章

富格林:躲闪黑幕有效规划出金

富格林认为&#xff0c;现货黄金拥有诸多其他投资品种所无法比拟的交易优势&#xff0c;也正是如此&#xff0c;如今越来越多投资者相继涌入现货黄金投资市场中。但不少新手投资者发现了一些问题&#xff0c;自己做的单子为何无法盈利出金&#xff1f;这其中是否存在什么背后黑…

C语言入门课程学习笔记9:指针

C语言入门课程学习笔记9 第41课 - 指针&#xff1a;一种特殊的变量实验-指针的使用小结 第42课 - 深入理解指针与地址实验-指针的类型实验实验小结 第43课 - 指针与数组&#xff08;上&#xff09;实验小结 第44课 - 指针与数组&#xff08;下&#xff09;实验实验小结 第45课 …

AI入门:AI发展势头这么猛,你在哪个阶段,落后了吗

生活的各方面都在发生着各种变化&#xff0c;笔者的教育生涯伴随着考试分数和排名&#xff0c;但现在的小学已经不公开分数和排名了&#xff0c;高考都屏蔽分数防止炒作了。 个人认为这是一个好的现象&#xff0c;教育就应该只有一个单纯的目的&#xff0c;那就是培养学生如何…

什么是滑动窗口?

滑动窗口&#xff08;Sliding Window&#xff09;是一种用于管理和处理数据流的技术&#xff0c;通过在数据流上定义一个固定大小的窗口&#xff0c;从而实现高效的数据处理、传输控制和资源管理。这种技术广泛应用于计算机网络、算法设计、图像处理等领域。 一、滑动窗口的基…

2024上海MWC 参展预告 | 未来先行,解锁数字化新纪元!

一、展会介绍——2024世界移动通信大会 2024年世界移动通信大会上海(MWC上海)将于6月26日至28日在上海新国际博览中心举行。 本届大会以“未来先行(Future First)”为主题聚焦“超越5G”、“数智制“人工智能经济’造”三大热点话题。届时将在包括超级品牌馆(Super Hall)在内…

Linux操作系统汇编语言基础知识(图文代码)

1、什么是汇编语言&#xff0c;它在计算机语言中的地位&#xff1f; 汇编语言是程序设计语言的基础语言&#xff0c;是唯一可以直接与计算机硬件打交道的语言2、汇编语言与源程序、汇编程序、汇编的关系&#xff1f; 3、汇编语言的特点 \1) 汇编语言与机器指令一一对应&#…

打造高效的Java应用架构:从入门到精通

打造高效的Java应用架构&#xff1a;从入门到精通 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01; 在当今快节奏的软件开发环境中&#xff0c;构建高效的Java应…

第14天:Vue.js应用性能优化与SSR/SSG探索

第14天&#xff1a;Vue.js应用性能优化与SSR/SSG探索 目标 学习优化Vue.js应用性能的方法&#xff0c;并探索服务端渲染&#xff08;SSR&#xff09;或静态站点生成&#xff08;SSG&#xff09;的可能性。 任务概览 学习Vue.js性能优化技术。探索服务端渲染&#xff08;SSR…

Redis--注册中心集群 Cluster 集群

准备工作&#xff1a; 首先pull用到的镜像 docker pull redis:6.0.8 端口准备 node01 192.168.248.189.6381-6382 node02 192.168.248.190 6383-6384 node03 192.168.248.191 6385-6386 创建路径&#xff1a; mkdir -p /soft/docker/redis-cluster cd /soft/docker/re…

封装vuetify3中v-time-picker组件,并解决使用时分秒类型只能在修改秒之后v-model才会同步更新的问题

目前时间组件还属于实验室组件&#xff0c;要使用需要单独引入&#xff0c;具体使用方式查看官网 创建公共时间选择器组件 common-time-pickers.vue 子组件页面 <template><div><v-dialog v-model"props.timeItem.isShow" activator"parent&q…

网页里面的3D交互展示是怎么做的呢?

网页里实现3D交互展示已经有非常成熟的软件和平台&#xff0c;使用起来非常便捷高效&#xff0c;也不需要懂编程和开发。具体方法如下&#xff1a; 1、设计3D模型&#xff1a;使用3D建模软件&#xff08;如Blender, 3ds Max, Maya等&#xff09;制作好3D模型&#xff0c;确保模…

Struts2 S2-061 远程命令执行漏洞(CVE-2020-17530)

目录 Struts2介绍 漏洞介绍 环境搭建 漏洞探测 执行命令 反弹shell 这一篇还是参考大佬的好文章进行Struts2 S2-061远程命令执行漏洞的学习和练习 Struts2介绍 百度百科 Struts2框架是一个用于开发Java EE网络应用程序的开放源代码网页应用程序架构。它利用并延伸了Ja…

Python3 学习_基础篇:(八)控制语句_ for while 循环

文章目录 学习目标&#xff1a;1.知道什么是循环&#xff1b;2.会用for 和 while 循环编写程序。 学习内容&#xff1a;一、 什么是循环二、while 循环三、 for 循环四、break , continue 关键字和 else 子句 拓展练习 学习目标&#xff1a; 1.知道什么是循环&#xff1b; 2.…

无缝迁移至阿里云RocketMQ:从私有化部署到云端的实用指南

目录 简介迁移步骤 选择合适的客户端版本准备必要的资源重要接口介绍更新POM依赖配置文件调整使用RocketMQTemplate进行消息处理 总结 简介 本指南旨在帮助将已有的开源RocketMQ部署顺利迁移到阿里云RocketMQ。通过逐步的指导和详细示例&#xff0c;你可以轻松实现以下场景&…

高效完成元数据导入(通过表格)

高效完成元数据导入 ​ 提升工作效率系列。别人还在吭哧吭哧干体力活的时候&#xff0c;你要将重复的工作尽量标准化&#xff0c;流程化&#xff0c;自动化&#xff0c;代码化。腾出更多的时间摸鱼&#xff08;提升自己打怪升级&#xff09; ​ 数据治理中&#xff0c;我们经…

昇思25天学习打卡营第1天|MindSpore快速入门

今天是参加华为MindSpore昇思25天学习打卡营的第一天&#xff0c;通过博客记录一下自己的学习路程 初识MindSpore 昇思MindSpore是一个全场景深度学习框架&#xff0c;旨在实现易开发、高效执行、全场景统一部署三大目标。 昇思MindSpore总体架构图 通过一套统一的MindSpore开…

Selenium、chromedriver安装配置

Selenium、chromedriver安装配置 一、Selenium简介二、Selenium安装三、ChromeDriver的安装3.1 查看浏览器版本3.2 下载ChromeDriver3.3 环境变量配置一、Selenium简介 Selenium是一个自动化测试工具,利用它我们可以驱动浏览器执行特定的点击、下拉等操作。对于一些JS动态渲染…

河南建筑工程乙级设计资质新办对配备的技术人员有什么要求

河南建筑工程乙级设计资质新办对配备的技术人员有什么要求 河南建筑工程乙级设计资质新办时&#xff0c;对配备的技术人员有以下基本要求&#xff1a; 注册人员&#xff1a;需要配备一定数量的注册工程师&#xff0c;具体包括&#xff1a; 一级注册建筑师2名一级注册结构工程师…

OpenCV视觉--视频人脸微笑检测(超详细,附带检测资源)

目录 概述 具体实现 1.加载分类器 2.打开摄像头并识别人脸 3.处理人脸并检测是否微笑 效果 总结 概述 OpenCV&#xff08;Open Source Computer Vision Library&#xff09;是一个开源的计算机视觉和机器学习库&#xff0c;广泛应用于图像处理和视频分析等领…

【STM32】GPIO复用和映射

1.什么叫管脚复用 STM32F4有很多的内置外设&#xff0c;这些外设的外部引脚都是与GPIO复用的。也就是说&#xff0c;一个GPIO如果可以复用为内置外设的功能引脚&#xff0c;那么当这个GPIO作为内置外设使用的时候&#xff0c;就叫做复用。 STM32F4系列微控制器IO引脚通过一个…