数据库复习3
一. 简答题(共1题,100分)
1. (简答题)
存在数据库test,数据库中有如下表:
1.学生表
Student(Sno,Sname,Sage,Ssex) --Sno 学号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别
主键Sno
2.教师表
Teacher(Tno,Tname) --Tno 教师编号,Tname 教师姓名
主键Tno
3.课程表
Course(Cno,Cname,Tno) --Cno --课程编号,Cname 课程名称,Tno 教师编号
主键Cno 外键Tno参照教师表
4.成绩表
SC(Sno,Cno,score) --Sno 学生编号,Cno 课程编号,score 分数
主键(Sno,Cno) 外键Sno,Cno分别参照学生表和课程表
按要求写出如下SQL语句:
1、查询选了3门课程的同学信息
2、查询没有学全所有课程的同学的信息(要显示没有选课的同学信息)
3、查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩
4、查询选修"吴大"老师所授课程的学生中,成绩最高的学生信息及其成绩
当最高分只有一个时:
5、创建一个选了2门课程的学生的学号、姓名及平均成绩的视图V1
6、查询选了2门课程且平均成绩在60分以下的学生的姓名与平均成绩
我的答案
1.
select s.*
from student s
inner join (
select Sno
from SC
group by SC.Sno
having count(Sno) =3
) c on s.Sno=c.Sno
2.
select s.*
from student s,SC c
where s.Sno=c.Sno
group by c.Sno
having count(c.Sno) < (select count(*) from course)
3.
select s.Sno,s.Sname,AVG(c.score)
from Student s
inner join SC c on s.Sno = c.Sno
where c.score<60
group by s.Sno,s.Sname
having count(* ) >= 2
4.
select s.*
from student s
join SC c on s.Sno = c.Sno
join Course co on c.Cno = co.Cno
join Teacher t on co.Tno = t.Tno
where t.Tname = '吴大'
order by c.score desc
limit 1
5.
create view V1
as
select s.Sno,s.Sname,avg_score
from student s
inner join (
select Sno ,AVG(SC.score) avg_score
from SC
group by SC.Sno
having count(Sno) =2
) c on s.Sno=c.Sno
6.
查询选了2门课程且平均成绩在60分以下的学生的姓名与平均成绩
select s.Sname,avg_score
from student s
inner join (
select Sno,AVG(score) avg_score
from SC
where count(Sno) = 2
group by Sno
having AVG(score)<60
)c on s.Sno=c.Sno
这里也可以使用第五题中创建的视图
select s.Sname,avg_score
from V1
where avg_score<60
标准参考答案
1、select student.*
from student,sc
where student.sno=sc.Sno
GROUP BY Sno
HAVING count(sc.Cno)=2;
2、select student.*
from student LEFT OUTER JOIN sc
ON student.sno=sc.Sno
GROUP BY Sno
HAVING count(sc.Cno)<(SELECT count(*) from course);
3、SELECT student.sno,student.Sname,avg(sc.score)
FROM student,sc
WHERE student.sno=sc.Sno and student.sno in (
SELECT sno FROM sc where score<60
GROUP BY Sno
HAVING count(*)>=2)
GROUP BY student.Sno;
4、SELECT student.*,sc.score
FROM student,sc,course,teacher
WHERE teacher.Tno=course.Tno AND course.Cno=sc.Cno AND sc.Sno=student.Sno
AND teacher.Tname='吴大' ORDER BY sc.score DESC
LIMIT 0,1;
当最高分出现多个时:
SELECT student.*,sc.score
FROM student,sc,course,teacher
WHERE teacher.Tno=course.Tno AND course.Cno=sc.Cno AND sc.Sno=student.Sno
AND teacher.Tname='吴大'
AND sc.score=(SELECT MAX(sc.score)
FROM sc,course,teacher
WHERE teacher.Tno=course.Tno AND course.Cno=sc.Cno AND teacher.Tname='吴大');
5、
CREATE VIEW v1(sno,sname,ascore)
AS
SELECT student.Sno, student.Sname,AVG(sc.score)
from student,sc
where student.Sno=sc.Sno
GROUP BY student.Sno
HAVING count(*)=2;
6、SELECT sname ,ascore from v1
where ascore<60;
相关文章:
数据库复习3
一. 简答题(共1题,100分) 1. (简答题) 存在数据库test,数据库中有如下表: 1.学生表 Student(Sno,Sname,Sage,Ssex) --Sno 学号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 主键Sno 2.教师表 Teacher(Tno,Tname) --T…...
顺序表的增删查改
数据结构 是数据存储的方式,对于不同的数据我们要采用不同的数据结构。就像交通运输,选用什么交通工具取决于你要运输的是人还是货物,以及它们的数量。 顺序存储结构 包括顺序表、链表、栈和队列等。 例如腾讯QQ中的好友列表,…...
jupyter matplotlib中文乱码解决
中文乱码可能有两种情况 1. matplotlib里面有中文字体 2. 没有中文字体 查看是否有中文字体: # 查询当前系统所有字体 from matplotlib.font_manager import FontManager import subprocessmpl_fonts = set(f.name for f in FontManager().ttflist)print(all font list get f…...
Smtplib之发邮件模块
目录 创建Smtp对象 Smtp类中的方法 MIME MIMEBase MIMEBase MIMEMultipart MIMEApplication MIMEAudio MIMEImage MIMEText 实例 texthtml格式 发送带图片附件的邮件 发送带附件的邮件 含多种格式 SMTP模块 SMTP 简单传输协议,它是一组用于由源…...
Android 适配手机和平板
一、屏幕适配限定符Android 系统加载应用资源时 , 会根据当前运行应用的设备的相关属性 , 如 : 屏幕尺寸 / 屏幕像素密度 / 宽高比 / 屏幕方向 等属性 , 加载不同的屏幕适配限定符目录下的资源 ;如 : 横竖屏切换时 , res/layout-land 目录中 , 存放的是横屏布局 , res/layout-p…...
时序预测 | MATLAB实现LSTM-SVR(长短期记忆神经网络-支持向量机)时间序列预测
时序预测 | MATLAB实现LSTM-SVR(长短期记忆神经网络-支持向量机)时间序列预测 目录时序预测 | MATLAB实现LSTM-SVR(长短期记忆神经网络-支持向量机)时间序列预测效果一览基本介绍模型介绍LSTM模型SVR模型LSTM-SVR模型程序设计参考资料致谢效果一览 基本介绍 本次运行测试环境MA…...
分阶段构建golang运行环境Dockerfile镜像
在开始这项工作之前大家可以先去看一下docker官方给出关于空镜像scratch的说明,采用官方简单的一句话就是:scratch是一个明确的空图像,特别是对于“从头开始”构建图像。分阶段构建镜像就会用到scratch这个空镜像,这样的好处是可以…...
Vue-cli脚手架在做些什么(源码角度分析)
什么是Vue脚手架?在学习初期,我们的项目往往需要借助webpack、vite等打包工具配置Vue的开发环境,但是在真实开发中我们不可能每个项目从头来完成所有的webpack配置,这样显得开发的效率会大大的降低;所有的真实开发中&a…...
【Nginx】|入门连续剧——安装
作者:狮子也疯狂 专栏:《Nginx从入门到超神》 坚持做好每一步,幸运之神自然会降临在你的身上 目录一. 🦁 前言Ⅰ. 🐇 为啥我们要使用Nginx?二. 🦁 搭建流程Ⅰ. 🐇 环境准备Ⅱ. &…...
从0开始学python -38
Python3 面向对象-1 Python从设计之初就已经是一门面向对象的语言,正因为如此,在Python中创建一个类和对象是很容易的。本章节我们将详细介绍Python的面向对象编程。 如果你以前没有接触过面向对象的编程语言,那你可能需要先了解一些面向对…...
算法设计与分析期末考试复习(二)
分治法 将一个难以直接解决的大问题,分割成一些规模较小的相同问题,以便各个击破,分而治之。最好使子问题的规模大致相同。 分解(Divide):将一个难以直接解决的大问题,分割成一些规模较小的子…...
九龙证券|4D毫米波雷达成市场新宠,相关概念股大涨,会贡献多少业绩?
近日,4D毫米波雷达成为A股新宠,相关概念股如经纬恒润(688326.SH)一周内涨幅接近20%,威孚高科(000581.SZ)5个买卖日内涨幅超越25%。 有音讯称特斯拉将在3月1日投资者活动日会宣告新款Model 3的全…...
Git天天用,不得不看的那些事
作为一个工作两年的开发同学,git是每天都要接触的工具。但IDEA对git的封装已经满足了日常的代码提交需求,所以一直是以点点点的形式进行代码提交与更新,几乎没用命令行提交过(现在想来也是有些惭愧),对于gi…...
IDE 文档注释使用,模板注释,ide配置templates
文档注释基于javadoc模板 类注释 /*** 暂无介绍** author admin* version 1.0.0* <dt><span class"simpleTagLabel">时间:</span></dt>* <dd>2023/2/24</dd>*/方法注释 /*** 暂无描述** author admin* param args */javadoc相…...
力扣-查询近30天活跃用户数
大家好,我是空空star,本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目:1141. 查询近30天活跃用户数二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.其他总结前言 一、题目&…...
企企通聚源池| 聚合海量资源全网寻源,赋能供采双方撮合交易
目前,我们正处于一个飞速发展的信息时代,随着大数据时代的来临,在企业的日常经营中,数据无处不在,各类数据的采集、整合、分析对企业的发展、决策有着十分重要的作用。数据管理作为企业一项重要的建设工作,…...
【算法数据结构体系篇class09】:链表问题:快慢指针、回文结构、复制、中点,分区、相交
一、链表解题的方法论 1)对于笔试,不用太在乎空间复杂度,一切为了时间复杂度2)对于面试,时间复杂度依然放在第一位,但是一定要找到空间最省的方法二、链表常用数据结构和技巧1)使用容器(哈希表、数组等)2)快…...
实验室信息化管理行业方案
为适应新时代下的管理机制与应用场景,越来越多的检测实验室需对研发部门和实验部门进行全面的、现代化的、电子化的综合管理,帮助检测机构对实验室的规划与计划、项目立项与管理、项目成果、合同,以及基建等工作进行统一的管理,而…...
docker学习
docker 环境搭建 MySql # mysql5.7 docker run --name mysql10 -p 3306:3306 -v D:\MySql\conf:/etc/mysql/conf.d -v D:\MySql\data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD123456 -d mysql:5.7docker run --name mysql10 -p 3306:3306 -v /etc/mysql/conf.d:/etc/mysql/co…...
Linux 常用命令
重启 # 重启(root 用户操作) reboot# 强制重启 reboot -f关机 # 关机 # shutdown [OPTION] [TIME] [MESSAGE] shutdown-h 关机 -r 重启-c 取消上一个命令 第二个参数指的是多少分钟后执行操作,以分钟为单位,如果不加时间&am…...
深入理解Java String不可变性
前言 在现代软件开发中,深入理解Java String不可变性是一个非常重要的技术点。本文将从原理到实践,带你深入理解这一技术,并通过完整的代码示例帮助你快速掌握核心知识点。 核心概念 基本原理 深入理解Java String不可变性的核心在于理解其底…...
不止是颜色:深入挖掘(ANSI转义码)在Linux/Mac终端里的高级玩法
不止是颜色:深入挖掘ANSI转义码在终端里的高级玩法当大多数开发者还在用\033[31m给终端文字涂上红色时,极客们早已用ANSI转义码玩出了更酷炫的花样。想象一下:终端里跳动的进度条、实时刷新的数据仪表盘、甚至完整的文字冒险游戏——这些全都…...
Windows下复现CVPR2019低光照增强EnlightenGAN:从环境配置到预测避坑全记录
Windows平台复现EnlightenGAN低光照增强实战指南引言低光照图像增强一直是计算机视觉领域的重要研究方向。2019年CVPR会议上提出的EnlightenGAN以其无需配对监督的创新训练方式,成为该领域的标志性工作之一。对于大多数使用Windows系统的研究者和开发者来说…...
[智能体-42]:深度解读:Python 免编译 + 动态执行,支撑智能体落地大模型决策
一、先厘清核心概念无需编译执行:Python 属于解释型语言,区别于 C/C、Java 编译型语言。编译型语言必须先将源码整体编译成机器码 / 字节码文件,才能运行;Python 无需手动编译,源码可逐行边解析边执行,即时…...
BU-CVKit:模块化计算机视觉框架赋能跨物种动物行为分析
1. 项目概述:从实验室到旷野,一个框架的野心在计算机视觉研究领域,尤其是动物行为学和生态学方向,我们常常面临一个尴尬的局面:针对小鼠开发的追踪算法,拿到斑马鱼身上就水土不服;为猕猴设计的姿…...
逻辑可解释性:用SAT/SMT/MILP求解器为机器学习模型提供可验证的解释
1. 项目概述:当机器学习遇上形式化逻辑在机器学习模型日益渗透到医疗诊断、金融风控、自动驾驶等高风险决策领域的今天,一个核心的信任危机也随之而来:我们如何理解一个“黑箱”模型做出的判断?传统的可解释性方法,如L…...
Debian Bullseye定制Live ISO避坑指南:从debootstrap到xorriso的完整流程解析
Debian Bullseye定制Live ISO避坑指南:从debootstrap到xorriso的完整流程解析当我们需要快速部署一套标准化的Debian环境时,定制Live ISO无疑是最优雅的解决方案之一。不同于传统的系统安装方式,Live ISO允许我们将预先配置好的系统环境打包成…...
AI赋能 绿色未来 —— 华硕重磅亮相第二十八届海峡两岸经贸交易会
当AI浪潮席卷全球,绿色低碳成为时代共识,一场汇聚两岸智慧、共探产业新机的盛会如约而至。5月21日第二十八届海峡两岸经贸交易会于福州海峡会展中心盛大启幕。这场由国务院台办、福建省人民政府联合主办的国家级盛会,深耕两岸经贸交流多年&am…...
【无人机通信】无线通信网络中无人机UAV定位与带宽分配的优化算法在确保地面用户服务质量QoS约束的同时,最大化网络吞吐量附matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,擅长毕业设计辅导、数学建模、数据处理、程序设计科研仿真。🍎完整代码获取 定制创新 论文复现点击:Matlab科研工作室👇 关注我领取海量matlab电子书和数学建模资料 dz…...
汽车12V电源防护:P6KE TVS二极管选型、设计与实战指南
1. 项目概述:汽车电源线上的“隐形保镖”在汽车电子系统的设计里,12V直流电源线是整车的能量动脉,从蓄电池到ECU(发动机控制单元)、从车身控制器到娱乐系统,几乎所有的电子模块都离不开它。但这条“动脉”所…...
