【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,一经查实,立即删除!

相关文章

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

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

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

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

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

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

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

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

封装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…

昇思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动态渲染…

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引脚通过一个…

KUBIKOS - Animated Cube Mini BIRDS(卡通立方体鸟类)

软件包中添加了对通用渲染管线 (URP) 的支持! KUBIKOS - 动画立方体迷你鸟是17种不同的可爱低多边形移动友好鸟的集合!每只都有自己的动画集。 完美收藏你的游戏! +17种不同的动物! + 低多边形(400~900个三角形) + 操纵和动画! + 4096x4096 纹理图集 + Mecanim 准备就绪…

Windows kubectl终端日志聚合(wsl+ubuntu+cmder+kubetail)

Windows kubectl终端日志聚合 一、kubectl终端日志聚合二、windows安装ubuntu子系统1. 启用wsl支持2. 安装所选的 Linux 分发版 三、ubuntu安装kubetail四、配置cmder五、使用 一、kubectl终端日志聚合 k8s在实际部署时&#xff0c;一般都会采用多pod方式&#xff0c;这种情况下…

通过高德api查询所有店铺地址信息

通过高德api查询所有店铺地址电话信息 需求&#xff1a;通过高德api查询所有店铺地址信息需求分析具体实现1、申请高德appkey2、下载types city 字典值3、具体代码调用 需求&#xff1a;通过高德api查询所有店铺地址信息 需求分析 查询现有高德api发现现有接口关键字搜索API服…

数据库精选题(五)(事务、并行控制与恢复系统)

&#x1f308; 个人主页&#xff1a;十二月的猫-CSDN博客 &#x1f525; 系列专栏&#xff1a; &#x1f3c0;数据库 &#x1f4aa;&#x1f3fb; 十二月的寒冬阻挡不了春天的脚步&#xff0c;十二点的黑夜遮蔽不住黎明的曙光 目录 前言 概论 事务 并发控制 恢复系统 三…

游戏AI的创造思路-技术基础-机器学习(2)

本篇存在大量的公式&#xff0c;数学不好的孩子们要开始恶补数学了&#xff0c;尤其是统计学和回归方程类的内容。 小伙伴们量力而行~~~~~ 游戏呢&#xff0c;其实最早就是数学家、元祖程序员编写的数学游戏&#xff0c;一脉相承传承至今&#xff0c;囊括了更多的设计师、美术…

QT拖放事件之五:自定义拖放操作-拖动中的修饰符操作

1、效果 2、代码 #include "SelfButton.h" #include <QApplication>SelfButton::SelfButton(QString str ,QWidget* parent):Q

JAVA系列---HttpServletRequest

Servlet 处理 HTTP 请求的流程 一般情况下&#xff0c;浏览器&#xff08;客户端&#xff09;通过 HTTP 协议来访问服务器的资源&#xff0c;Servlet 主要用来处理 HTTP 请求。核心对象有三个 Servlet&#xff1a;提供service()方法处理请求ServletRequest&#xff1a;请求信…

linux中的调试工具gdb

目录 1.背景知识补充 2.使用 知识补充 1.背景知识补充 1.gcc下编译默认是release方式发布的&#xff0c;无法直接进行调试 如果要以debug方式发布&#xff0c;需要携带-g 可以使用grep查询 因为携带debug信息&#xff0c;其文件体积要大一些 2.使用 1.gdb 可执行程序 …

北邮《计算机网络》网络层笔记

文章目录 单词复习网络层前言路由算法&#xff08;构造路由表的算法&#xff09;静态路由算法自适应算法 拥塞控制QoS 服务质量&#xff08;小小的一节&#xff09;网络互联&#xff08;还是小小的一节&#xff09;Internet 单词复习 estimates boot off-line in advance refl…