数据库实验报告(五)

news2025/1/18 9:54:29

1、实验目的

(1)    掌握对聚集函数的使用

(2)    掌握对分组的使用

(3)    掌握非关联子查询的用法,了解相关的连接谓词

2、实验预习与准备

(1)    了解MaxMinAvgSumCount的语法格式

(2)    了解Group by子句的作用

(3)    了解Having子句与Where子句的区别

(4)    了解ANYALL的用法

(5)    了解MaxMinInANYALL的等价规则

(6)    了解子查询的使用限制

3、实验内容及步骤

(1) 查询每个班学生入学成绩最高分和最低分的差距,列名为“最大分差”

SELECT clno, MAX(point) - MIN(point) AS '最大分差' FROM student GROUP BY clno;

(2) 查询至少选修了三门课程的学生编号

SELECT sno FROM score GROUP BY sno HAVING COUNT(DISTINCT cno) >= 3;

(3)统计各个班级男生和女生的平均年龄及人数。

SELECT clno, sex, AVG(DATEDIFF(CURDATE(), birth)/365) AS '平均年龄', COUNT(*) AS '人数' FROM student GROUP BY clno, sex;

(4)查询至少被两名学生选修的课程名称

SELECT cno, cname FROM course
    -> WHERE cno IN (
    ->     SELECT cno
    ->     FROM score
    ->     GROUP BY cno
    ->     HAVING COUNT(DISTINCT sno) >= 2
    -> );

(5) 查询有至少两门课的成绩在90以上的学生姓名

SELECT s.sname FROM student s WHERE (
    ->     SELECT COUNT(*)
    ->     FROM score sc
    ->     WHERE sc.sno = s.sno AND sc.score >= 90
    -> ) >= 2;

6)查询计算机学院至少有两门课的成绩在80以上的女学生学号、姓名和出生日期及其期末成绩的最高分

SELECT s.sno, s.sname, s.birth, MAX(sc.score) AS '期末成绩的最高分'
    -> FROM student s
    -> JOIN score sc ON s.sno = sc.sno
    -> WHERE s.clno LIKE '计算机学院%' AND s.sex = '女'
    -> GROUP BY s.sno, s.sname, s.birth
    -> HAVING COUNT(DISTINCT sc.cno) >= 2 AND MAX(sc.score) >= 80;

7显示学分最高的学生的学号、姓名和入学成绩(使用子查询)

SELECT sno, sname, point
    -> FROM student
    -> WHERE point = (
    ->     SELECT MAX(point)
    ->     FROM student
    -> );

8)查询与“秦建兴”籍贯相同的学生学号、姓名和电话(使用子查询)

SELECT sno, sname, tel
    -> FROM student
    -> WHERE scurce = (
    ->     SELECT scurce
    ->     FROM student
    ->     WHERE sname = '秦建兴'
    -> );

9)查询入学成绩比“19020301”号班级入学平均成绩高的学生姓名(使用子查询)

SELECT sname
    -> FROM student
    -> WHERE point > (
    ->     SELECT AVG(point)
    ->     FROM student
    ->     WHERE clno = '19020301'
    -> );

10)查询“数据库原理”课程期末成绩高于该课程平均成绩的学生学号、姓名和期末成绩(使用子查询)

SELECT s.sno, s.sname, sc.score
FROM student s
JOIN score sc ON s.sno = sc.sno
WHERE sc.cno = '数据库原理' AND sc.score > (
    SELECT AVG(score)
    FROM score
    WHERE cno = '数据库原理'
);

11)查询入学成绩平均值高于“19级金融科技1班”入学成绩平均值的班级编号(使用子查询)

SELECT clno
    -> FROM student
    -> GROUP BY clno
    -> HAVING AVG(point) > (
    ->     SELECT AVG(point)
    ->     FROM student
    ->     WHERE clno = '19级金融科技1班'
    -> ); 

12)查询选修人数最多的课程号和人数(选做)

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

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

相关文章

面试算法53:二叉搜索树的下一个节点

题目 给定一棵二叉搜索树和它的一个节点p,请找出按中序遍历的顺序该节点p的下一个节点。假设二叉搜索树中节点的值都是唯一的。例如,在图8.9的二叉搜索树中,节点8的下一个节点是节点9,节点11的下一个节点是null。 分析&#xf…

Web开发介绍详细介绍

Web开发介绍 1 什么是web开发 Web:全球广域网,也称为万维网(www World Wide Web),能够通过浏览器访问的网站。 所以Web开发说白了,就是开发网站的,例如下图所示的网站:淘宝,京东等等 那么我们…

常见接口测试面试题

1、按你的理解,软件接口是什么? 答: 就是指程序中具体负责在不同模块之间传输或接受数据的并做处理的类或者函数。 2、HTTP和HTTPS协议区别? 答: https协议需要到CA(Certificate Authority,证书…

犀牛8 for Mac – 强大的三维建模软件,轻松实现创意设计

你是否正在寻找一款功能强大、易于使用的三维建模软件?犀牛8 for Mac是你的不二选择!作为最新版本的犀牛系列软件,它汇集了众多令人惊叹的特性,让你能够轻松实现自己的创意设计。 犀牛8 for Mac拥有丰富而强大的三维建模工具&…

【Python基础】变量基本使用

变量 1.变量定义02. 变量的类型2.1 变量类型的演练 —— 个人信息2.2 变量的类型2.3转义字符 3.变量输入输出3.1变量格式化输出 4.变量命名 1.变量定义 变量定义 • 在 Python 中,每个变量 在使用前都必须赋值 在使用前都必须赋值,变量 赋值以后 该变量…

R语言使用HTTP爬虫IP写一个程序

R语言爬虫是指使用R语言编写程序,自动从互联网上获取数据的过程。在R语言中,可以使用三个主要的包(XML、RCurl、rvest)来实现爬虫功能。了解HTML等网页语言对于编写爬虫程序也非常重要,因为这些语言是从网页中提取数据…

解决方案中排版的灵魂的---样式的设置

word样式是一系列字符格式和段落格式的集合,可以在编排重复格式的时候套用样式,减少重复化的操作。 一、word样式 二、样式基准 样式基准是最基本或原始的文字段落格式,文档中的其他样式以此为基础创建。 我新建样式,如果选择样…

Go的Defer简介

什么是延期? Defer 语句用于在存在 defer 语句的周围函数返回之前执行函数调用。该定义可能看起来很复杂,但通过示例就很容易理解。 例子 package mainimport ( "fmt" )func finished() { fmt.Println("Finished finding largest&qu…

XR Interaction ToolKit

一、简介 XR Interaction Toolkit是unity官方的XR交互工具包。 官方XRI示例地址:https://github.com/Unity-Technologies/XR-Interaction-Toolkit-Examples 2023.3.14官方博客,XRIT v2.3 https://blog.unity.com/engine-platform/whats-new-in-xr-int…

ERR operation not permitted

ERR operation not permitted E:\Document_Redis_Windows\redis-2.4.5-win32-win64\64bit redis.conf auth 123456 redis requirepass_requirepass redis-CSDN博客

PP-Matting:trimap free的高精度自然图像抠图

论文:https://arxiv.org/abs/2204.09433 代码:https://github.com/PaddlePaddle/PaddleSeg 1、动机 在自然图像抠图领域,大多数方法都是基于Trimap来做抠图,这种trimap-based的方式在抠图时还需要用户绘制一个trimap作为模型输入&…

Vue项目运行时报错:‘vue-cli-service‘ 不是内部或外部命令,也不是可运行的程序 或批处理文件

报错原因及解决 1.package.json 文件中未定义依赖项vue/cli-service,因此在 npm install 之后并没有安装vue/cli-service 依赖; 解决:项目目录下执行命令,npm i -D vue/cli-service。2.第1步排查后,还是报同样的错&a…

Django-vue-admin 滚动监听,锚点定位目录

就是实现滑动内容,目录也跟着滚动,同时点击目录,内容会滑动到指定位置 试过很多,反正都不适用Django-vue-admin框架,唯有这个功能可以,只是样式按照自己想要的改改就行, https://blog.csdn.ne…

【深度学习】快速制作图像标签数据集以及训练

快速制作图像标签数据集以及训练 制作DataSet 先从网络收集十张图片 每种十张 定义dataSet和dataloader import glob import torch from torch.utils import data from PIL import Image import numpy as np from torchvision import transforms import matplotlib.pyplot…

这才是当今生成式人工智能的根本性问题!

原创 | 文 BFT机器人 01 引言 近年来,生成式人工智能产品层出不穷,ChatGPT火爆出圈后,百度、谷歌等科技大佬争相研究生成式人工智能产品,将该技术的普及程度提升到了一个新的水平。然而,生成式人工智能的运营需要高昂…

谷歌浏览器解决跨域问题配置记录

在访问时出现has been blocked by CORS policy: Responspreflight request doesn’t pass access control checlAccess-Control-A1low-Origin" header is present onrequested resource. 出现跨域问题 1.先关闭浏览器 2.创建一个目录,文件夹记住路径 3.点击谷…

高德地图撒点组件

一、引入amap地图库 - public/index.html <script type"text/javascript">window._AMapSecurityConfig {securityJsCode: 地图密钥 }</script><scripttype"text/javascript"src"https://webapi.amap.com/maps?v1.4.8&key111111…

rpm 软件包管理工具

RPM&#xff08;RedHat Package Manager&#xff09;&#xff0c;RedHat软件包管理工具。 rpm 查询 rpm -qa #查询所有包(query all)rpm -qa |grep firefox #firefox-102.15.0-1.el7.centos.x86_64rpm -qi | grep firefox #(query information) #Name : firefox #…

Flink日志采集-ELK可视化实现

一、各组件版本 组件版本Flink1.16.1kafka2.0.0Logstash6.5.4Elasticseach6.3.1Kibana6.3.1 针对按照⽇志⽂件⼤⼩滚动⽣成⽂件的⽅式&#xff0c;可能因为某个错误的问题&#xff0c;需要看好多个⽇志⽂件&#xff0c;还有Flink on Yarn模式提交Flink任务&#xff0c;在任务执…

嵌入式学习的两大误区

误区一、全身投入学习桌面或服务器版本Linux系统很多想学嵌入式Linux 的同学经常问我&#xff0c;我不会Linux系统&#xff0c;怎么学习嵌入式Linux开发&#xff0c;于是他们就花费了大量的精力和时间去研究学习桌面版本Linux系统的使用&#xff0c;什么redhat 、federo&#x…