当前位置: 首页 > news >正文

数据库复习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

一. 简答题&#xff08;共1题&#xff0c;100分&#xff09; 1. (简答题) 存在数据库test&#xff0c;数据库中有如下表&#xff1a; 1.学生表 Student(Sno,Sname,Sage,Ssex) --Sno 学号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 主键Sno 2.教师表 Teacher(Tno,Tname) --T…...

顺序表的增删查改

数据结构 是数据存储的方式&#xff0c;对于不同的数据我们要采用不同的数据结构。就像交通运输&#xff0c;选用什么交通工具取决于你要运输的是人还是货物&#xff0c;以及它们的数量。 顺序存储结构 包括顺序表、链表、栈和队列等。 例如腾讯QQ中的好友列表&#xff0c;…...

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 简单传输协议&#xff0c;它是一组用于由源…...

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的说明&#xff0c;采用官方简单的一句话就是&#xff1a;scratch是一个明确的空图像&#xff0c;特别是对于“从头开始”构建图像。分阶段构建镜像就会用到scratch这个空镜像&#xff0c;这样的好处是可以…...

Vue-cli脚手架在做些什么(源码角度分析)

什么是Vue脚手架&#xff1f;在学习初期&#xff0c;我们的项目往往需要借助webpack、vite等打包工具配置Vue的开发环境&#xff0c;但是在真实开发中我们不可能每个项目从头来完成所有的webpack配置&#xff0c;这样显得开发的效率会大大的降低&#xff1b;所有的真实开发中&a…...

【Nginx】|入门连续剧——安装

作者&#xff1a;狮子也疯狂 专栏&#xff1a;《Nginx从入门到超神》 坚持做好每一步&#xff0c;幸运之神自然会降临在你的身上 目录一. &#x1f981; 前言Ⅰ. &#x1f407; 为啥我们要使用Nginx&#xff1f;二. &#x1f981; 搭建流程Ⅰ. &#x1f407; 环境准备Ⅱ. &…...

从0开始学python -38

Python3 面向对象-1 Python从设计之初就已经是一门面向对象的语言&#xff0c;正因为如此&#xff0c;在Python中创建一个类和对象是很容易的。本章节我们将详细介绍Python的面向对象编程。 如果你以前没有接触过面向对象的编程语言&#xff0c;那你可能需要先了解一些面向对…...

算法设计与分析期末考试复习(二)

分治法 将一个难以直接解决的大问题&#xff0c;分割成一些规模较小的相同问题&#xff0c;以便各个击破&#xff0c;分而治之。最好使子问题的规模大致相同。 分解&#xff08;Divide&#xff09;&#xff1a;将一个难以直接解决的大问题&#xff0c;分割成一些规模较小的子…...

九龙证券|4D毫米波雷达成市场新宠,相关概念股大涨,会贡献多少业绩?

近日&#xff0c;4D毫米波雷达成为A股新宠&#xff0c;相关概念股如经纬恒润&#xff08;688326.SH&#xff09;一周内涨幅接近20%&#xff0c;威孚高科&#xff08;000581.SZ&#xff09;5个买卖日内涨幅超越25%。 有音讯称特斯拉将在3月1日投资者活动日会宣告新款Model 3的全…...

Git天天用,不得不看的那些事

作为一个工作两年的开发同学&#xff0c;git是每天都要接触的工具。但IDEA对git的封装已经满足了日常的代码提交需求&#xff0c;所以一直是以点点点的形式进行代码提交与更新&#xff0c;几乎没用命令行提交过&#xff08;现在想来也是有些惭愧&#xff09;&#xff0c;对于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天活跃用户数

大家好&#xff0c;我是空空star&#xff0c;本篇带大家了解一道简单的力扣sql练习题。 文章目录前言一、题目&#xff1a;1141. 查询近30天活跃用户数二、解题1.正确示范①提交SQL运行结果2.正确示范②提交SQL运行结果3.正确示范③提交SQL运行结果4.其他总结前言 一、题目&…...

企企通聚源池| 聚合海量资源全网寻源,赋能供采双方撮合交易

目前&#xff0c;我们正处于一个飞速发展的信息时代&#xff0c;随着大数据时代的来临&#xff0c;在企业的日常经营中&#xff0c;数据无处不在&#xff0c;各类数据的采集、整合、分析对企业的发展、决策有着十分重要的作用。数据管理作为企业一项重要的建设工作&#xff0c;…...

【算法数据结构体系篇class09】:链表问题:快慢指针、回文结构、复制、中点,分区、相交

一、链表解题的方法论 1)对于笔试&#xff0c;不用太在乎空间复杂度&#xff0c;一切为了时间复杂度2)对于面试&#xff0c;时间复杂度依然放在第一位&#xff0c;但是一定要找到空间最省的方法二、链表常用数据结构和技巧1&#xff09;使用容器(哈希表、数组等)2&#xff09;快…...

实验室信息化管理行业方案

为适应新时代下的管理机制与应用场景&#xff0c;越来越多的检测实验室需对研发部门和实验部门进行全面的、现代化的、电子化的综合管理&#xff0c;帮助检测机构对实验室的规划与计划、项目立项与管理、项目成果、合同&#xff0c;以及基建等工作进行统一的管理&#xff0c;而…...

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 常用命令

重启 # 重启&#xff08;root 用户操作&#xff09; reboot# 强制重启 reboot -f关机 # 关机 # shutdown [OPTION] [TIME] [MESSAGE] shutdown-h 关机 -r 重启-c 取消上一个命令 第二个参数指的是多少分钟后执行操作&#xff0c;以分钟为单位&#xff0c;如果不加时间&am…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言&#xff1a;多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时&#xff0c;​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套&#xff1a;跨云网络构建数据…...

Docker 离线安装指南

参考文章 1、确认操作系统类型及内核版本 Docker依赖于Linux内核的一些特性&#xff0c;不同版本的Docker对内核版本有不同要求。例如&#xff0c;Docker 17.06及之后的版本通常需要Linux内核3.10及以上版本&#xff0c;Docker17.09及更高版本对应Linux内核4.9.x及更高版本。…...

《Qt C++ 与 OpenCV:解锁视频播放程序设计的奥秘》

引言:探索视频播放程序设计之旅 在当今数字化时代,多媒体应用已渗透到我们生活的方方面面,从日常的视频娱乐到专业的视频监控、视频会议系统,视频播放程序作为多媒体应用的核心组成部分,扮演着至关重要的角色。无论是在个人电脑、移动设备还是智能电视等平台上,用户都期望…...

Debian系统简介

目录 Debian系统介绍 Debian版本介绍 Debian软件源介绍 软件包管理工具dpkg dpkg核心指令详解 安装软件包 卸载软件包 查询软件包状态 验证软件包完整性 手动处理依赖关系 dpkg vs apt Debian系统介绍 Debian 和 Ubuntu 都是基于 Debian内核 的 Linux 发行版&#xff…...

安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件

在选煤厂、化工厂、钢铁厂等过程生产型企业&#xff0c;其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进&#xff0c;需提前预防假检、错检、漏检&#xff0c;推动智慧生产运维系统数据的流动和现场赋能应用。同时&#xff0c;…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

剑指offer20_链表中环的入口节点

链表中环的入口节点 给定一个链表&#xff0c;若其中包含环&#xff0c;则输出环的入口节点。 若其中不包含环&#xff0c;则输出null。 数据范围 节点 val 值取值范围 [ 1 , 1000 ] [1,1000] [1,1000]。 节点 val 值各不相同。 链表长度 [ 0 , 500 ] [0,500] [0,500]。 …...

第25节 Node.js 断言测试

Node.js的assert模块主要用于编写程序的单元测试时使用&#xff0c;通过断言可以提早发现和排查出错误。 稳定性: 5 - 锁定 这个模块可用于应用的单元测试&#xff0c;通过 require(assert) 可以使用这个模块。 assert.fail(actual, expected, message, operator) 使用参数…...

Spring Boot面试题精选汇总

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 Spring Boot面试题精选汇总⚙️ **一、核心概…...