SQL server 数据库练习题及答案(练习2)

使用你的名字创建一个数据库

创建表:

数据库中有三张表,分别为student,course,SC(即学生表,课程表,选课表)

问题:

--1.分别查询学生表和学生修课表中的全部数据。
--2.查询成绩在7080分之间的学生的学号、课程号和成绩。
--3查询C01号课程成绩最高的分数
--4.查询学生都选修了哪些课程,要求列出课程号。
--8.查询修了C02号课程的所有学生的平均成绩、最高成绩和最低成绩。
--9.统计每个系的学生人数。
--10.统计每门课程的修课人数和考试最高分。
--11.统计每个学生的选课门数,并按选课门数的递增顺序显示结果。
--12.统计选修课的学生总数和考试的平均成绩。
--13.查询选课门数超过2门的学生的平均成绩和选课门数。
--14.列出总成绩超过200分的学生,要求列出学号、总成绩。
--16.查询选修了VB号课程的学生的姓名和所在系。
--17.查询成绩80分以上的学生的姓名、课程号和成绩,并按成绩的降序排列结果。
--18.查询计算机系男生修了"数据库基础"的学生的姓名、性别、成绩。
--19.查询哪些学生的年龄相同,要求列出年龄相同的学生的姓名和年龄。
--20.查询哪些课程没有人选,要求列出课程号和课程名。
--21.查询有考试成绩的所有学生的姓名、修课名称及考试成绩
--22.分别查询信息系和计算机系的学生的姓名、性别、修课名称、修课成绩,并要求将这两个查询结果合并成一个结果集,并以系名、姓名、性别、修课名称、修课成绩的顺序显示各列。
--//此题用到了并union查询

--23.用子查询实现如下查询:
--(1)    
查询选修了C01号课程的学生的姓名和所在系。
--(2)    查询数学系成绩80分以上的学生的学号、姓名。
--(3)    查询计算机系学生所选的课程名.
--24.
将计算机系成绩高于80分的学生的修课情况插入到另一张表中,分两种情况实现:
--(1)    在插入数据过程中建表。
--(2)    先建一个新表,然后再插入数据。
--25.删除修课成绩小于50分的学生的修课记录
--26.将所有选修了"c01"课程的学生的成绩加10分。

答案:

/*创建数据库*/
create database gaohongyuan
on primary 
(name="gaohongyuan_data",
filename="c:\gao\gaohongyuan_data.mdf", 
size=8MB,
maxsize=100MB, 
filegrowth=10%) 
log on 
(name="gaohongyuan_log.ldf", 
filename="c:\gao\gaohongyuan_log.ldf", 
size=1MB, 
filegrowth=10%)

use gaohongyuan/*切换数据库*/

/*创建学生表*/
create table student(
Sno varchar(20) primary key not null,
Sname varchar(32) not null,
Ssex varchar(2) default('男'),
Sage int check(Sage>=0 and Sage<=100),
Sdept varchar(32) not null
)
go
/*创建课程表*/
create table course(
Cno varchar(20) primary key not null,
Cname varchar(32) unique not null,
Hours int check(Hours>0) not null
)
go
/*创建选课表*/
create table SC(
Sno varchar(20) references student(Sno),
Cno varchar(20) references course(Cno),
Grade int check(Grade>=0 and Grade<=100) null
)
go
/*插入数据*/
select * from student/*查询语句*/
insert student values
('9512101','李勇','男',19,'计算机系'),
('9512102','刘晨','男',20,'计算机系'),
('9512103','王敏','女',20,'计算机系'),
('9521101','张立','男',22,'信息系'),
('9521102','吴宾','女',21,'信息系'),
('9521103','张海','男',20,'信息系'),
('9531101','钱小力','女',18,'数学系'),
('9531102','王大力','男',19,'数学系')
go
select * from course/*查询语句*/
insert course values
('C01','计算机文化学',70),
('C02','VB',90),
('C03','计算机网络',80),
('C04','数据库基础',108),
('C05','高等数学',180),
('C06','数据结构',72)
go
select * from SC/*查询语句*/
insert SC(Sno,Cno,Grade) values
('9512101','C01',90),
('9512101','C02',86),
('9512101','C06',null),
('9512102','C02',78),
('9512102','C04',66),
('9512102','C01',82),
('9512102','C02',75),
('9512102','C04',92),
('9512102','C05',50),
('9521103','C02',68),
('9521103','C06',null),
('9531101','C01',80),
('9531101','C05',95),
('9531102','C05',85)
go

--1
select * from student
select * from SC
select * from course
--2
select Sno 学号,Cno 课程号,Grade 成绩 from SC where Grade between 70 and 80
--3
select Cno,max(Grade) from SC where Cno='C01' group by Cno
--4
select Sname,Cname,co.Cno from student st join SC on st.Sno=SC.Sno join course co on co.Cno=SC.Cno 
--8
select Sname 姓名,avg(Grade) 平均分,max(Grade) 最高分,min(Grade) 最低分 from student st join SC on st.Sno=Sc.Sno where Cno='C02' group by Sname
--9
select Sdept,count(Sdept) from student group by Sdept
--10
select Cname,count(SC.Cno),max(Grade) from SC join course co on SC.Cno=co.Cno group by Cname
--11
select Sname,count(SC.Cno) from student st join SC on SC.Sno=st.Sno group by Sname order by count(SC.Cno) asc
--12
select count(distinct Sno),avg(Grade) from SC 
--13
select Sname,avg(Grade),count(SC.Cno) from student st join SC on SC.Sno=st.Sno join course co on SC.Cno=co.Cno group by Sname having count(SC.Cno)>=2
--14
select Sno,sum(Grade) from SC group by Sno having sum(Grade)>200
--16
select Sname,Sdept,SC.Cno,Cname from student st join SC on st.Sno=SC.Sno join course co on co.Cno=SC.Cno where Cname='VB'
--17
select Sname,SC.Cno,Grade from student st join SC on st.Sno=SC.Sno order by Grade desc
--18
select Sname,Ssex,Cname,Grade from student st join SC on st.Sno=SC.SNo join course co on co.Cno=SC.Cno where Cname='数据库基础'
--19
select sname,sage from student where sage in (select Sage from student group by sage having count(Sage)>1)
--20
select distinct SC.Cno,Cname from SC left join course co on SC.Cno=co.Cno 
--21
select Sname,Cname,Grade from student st join SC on st.Sno=SC.Sno join course co on co.Cno=SC.Cno where Grade is not null
--22
select Sname 姓名,Ssex 性别,Cname 修课名称,Grade 修课成绩,Sdept 系别 from student st join SC on st.Sno=SC.Sno join course co on co.Cno=SC.Cno where Sdept='信息系'
union select Sname 姓名,Ssex 性别,Cname 修课名称,Grade 修课成绩,Sdept 系别 from student st join SC on st.Sno=SC.Sno join course co on co.Cno=SC.Cno where Sdept='计算机系'
--23
----1
select Sname,Sdept,Cno from student st join SC on st.Sno=SC.Sno where Cno='C01'
----2
select SC.Sno,Sname,Grade from student st join SC on st.Sno=SC.Sno where Grade>=80
----3
select Sname,Sdept,Cname from student st join SC on st.Sno=SC.Sno join course co on co.Cno=SC.Cno where Sdept='计算机系'
--24
----1
select * into SC1 from SC where Grade>80
select * from SC1
----2
create table SC2(
Sno varchar(20) references student(Sno),
Cno varchar(20) references course(Cno),
Grade int check(Grade>=0 and Grade<=100) null
)
insert into SC2 select * from SC where Grade>80
select * from SC2
--25
delete from SC where Grade<50
--26
update SC set Grade=Grade+10 where Cno='C01'

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

封装map和set

文章目录 封装mapset红黑树成员变量节点定义KeyOfTMapKeyOfTSetKeyOfT begin() && end()迭代器迭代器类operatoroperator- - insert 封装 map和set的底层都是通过红黑树来实现的&#xff0c;那么是怎么做到共用同一份代码&#xff0c;但让map存储的是键值对&#xff0…

多功能演示工具ProVideoPlayer2 mac特色介绍

ProVideoPlayer2 mac是用于大多数任何生产的首选多功能演示工具。ProVideoPlayer 2是一种动态视频播放和处理媒体服务器&#xff0c;可将视频映射&#xff08;包括播放和实时视频输入&#xff09;实时控制到一个或多个输出。包括实时效果&#xff0c;调度&#xff0c;网络同步和…

(AntV X6)vue2项目流程图实现

(AntV X6)vue2流程图实现 项目&#xff1a;gitLab/zhengzhouyuan 效果&#xff1a; 一、项目引入X6 npm install antv/x6 --save 二、引入相关插件 npm install --save antv/x6-plugin-clipboard antv/x6-plugin-history antv/x6-plugin-keyboard antv/x6-plugin-selection an…

海云安亮相2023北京国际金融安全论坛,助力金融企业数字化转型降本增效

近日&#xff0c;2023北京国际金融安全论坛暨金融科技标准认证生态大会在北京金融安全产业园成功举办。深圳海云安网络安全技术有限公司&#xff08;以下简称“海云安”&#xff09;受邀参展亮相此次大会。海云安作为国内领先的金融科技服务商&#xff0c;展示了开发安全系列产…

数据结构:图文详解 树与二叉树(树与二叉树的概念和性质,存储,遍历)

目录 一.树的概念 二.树中重要的概念 三.二叉树的概念 满二叉树 完全二叉树 四.二叉树的性质 五.二叉树的存储 六.二叉树的遍历 前序遍历 中序遍历 后序遍历 一.树的概念 树是一种非线性数据结构&#xff0c;它由节点和边组成。树的每个节点可以有零个或多个子节点…

输入两个时间,判断时间是否为非工作日,并且是日期否为同一天。是的话返回true,否返回false

工作遇到这么一个逻辑&#xff0c;前端回传两个时间&#xff08;必须是两个那一种&#xff09;。然后&#xff0c;我后端需要判断这两个时间是否为同一天&#xff0c;并且这个时间是否为非工作日&#xff0c;是的话返回true&#xff0c;反之返回false 代码&#xff1a; packa…

2023/12/26 work

1. 定义自己的命名空间myspace&#xff0c;并在myspace中定义一个字符串&#xff0c;实现求字符串大小的函数。 #include <iostream>using namespace std;namespace mynamespace {string name;unsigned int strlen(string name){return name.size();} }using namespace…

面试题之二HTTP和RPC的区别?

面试题之二 HTTP和RPC的区别&#xff1f; Ask范围&#xff1a;分布式和微服务 难度指数&#xff1a;4星 考察频率&#xff1a;70-80% 开发年限&#xff1a;3年左右 从三个方面来回答该问题&#xff1a; 一.功能特性 1)HTTP是属于应用层的协议&#xff1a;超文本传输协议…

手机蓝牙在物联网超市中的应用

超市一站式购物已进入城市的千家万户。然而人们在选购时却采用直接翻阅商品的方式&#xff0c;既不方便又不卫生甚至大大缩短食品类商品保质期&#xff0c;也给超市商品管理造成很大难度。物联网(The Internet of things)基于射频识别(RFID)、红外感应等技术&#xff0c;把物品…

【PostGIS】在Java中操作postgis——使用springboot+Maven+mybatis框架

前言&#xff1a; PostgreSQL15对应PostGIS安装教程及空间数据可视化 空间数据库-常用空间函数 完成PostGIS的安装与配置后&#xff0c;让我们来写一个Java操作postgis数据库的demo吧~ 使用工具&#xff1a; NavicatIDEA 一、PostGIS数据库准备 在Navicat中新建一个postgr…

云渲染UE4像素流送搭建(winows、ubuntu单实例与多实例像素流送)

windows/ubuntu20.4下UE4.27.2像素流送 像素流送技术可以将服务器端打包的虚幻引擎应用程序在客户端的浏览器上运行&#xff0c;用户可以通过浏览器操作虚幻引擎应用程序&#xff0c;客户端无需下载虚幻引擎&#xff0c;本文实现两台机器通过物理介质网线实现虚幻引擎应用程序…

Golang 协程配合管道

请完成goroutine和channel协同工作的案例&#xff0c;具体要求&#xff1a; &#xff08;1&#xff09;开启一个writeData协程&#xff0c;向管道mtChan中写入50个整数. &#xff08;2&#xff09;开启一个readData协程&#xff0c;从管道intChan中读取writeData写入的数据。 &…

系列十(实战)、发送 接收批量消息(Java操作RocketMQ)

一、发送 & 接收批量消息 1.1、概述 批量消息是指RocketMQ可以把一组消息集合一次性发送&#xff0c;这一组消息会被当做一个消息供消费者消费。 1.2、Demo05MQTestApp /*** Author : 一叶浮萍归大海* Date: 2023/12/25 11:48* Description: 发送 & 接收批量消息*/ …

智能优化算法应用:基于袋獾算法3D无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于袋獾算法3D无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于袋獾算法3D无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.袋獾算法4.实验参数设定5.算法结果6.参考文献7.MA…

python CodeFormer 图像(人脸面部)修复源码

介绍 github地址&#xff1a;https://github.com/sczhou/CodeFormer [NeurIPS 2022] Towards Robust Blind Face Restoration with Codebook Lookup Transformer 效果&#xff1a; 测试环境&#xff1a; anconda3python3.8 torch1.9.0cu111 pyqt5 部分代码&#xff1a; i…

记一次应急响应练习(windows)

记一次应急响应练习&#xff08;windows&#xff09; windows&#xff1a; 1.请提交攻击者攻击成功的第一时间&#xff0c;格式&#xff1a;YY:MM:DD hh:mm:ss 答&#xff1a;2023/04/29:22:44:32 思路&#xff1a; 看见桌面的小皮面板&#xff0c;进入小皮的安装目录。发现…

nodejs进阶

文章目录 写在前面一、dependencies、devDependencies和peerDependencies区别&#xff1a;二、需要牢记的npm命令2.1 npm init2.2 npm config list2.3 npm配置镜像源 三、npm install 的原理四、package-lock.json的作用五、npm run 的原理六、npx6.1 npx是什么6.2 npx的优势6.…

一个卖美妆的 一个月招了数十万代理!月销售额破亿 你敢相信吗?

商业模式永不过时 大家好&#xff0c;我是吴军&#xff0c;一家软件公司的产品经理 今天我们来聊一下这个纪炫商城 其实&#xff0c;说这个纪炫商城之前&#xff0c;我想跟各位企业家老板聊几句实在话 作为公司两百多号技术的&#xff0c;一个拥有五年软件开发经验的产品经理…

深入探讨Java反射:解析机制与应用场景

当谈及Java编程语言的强大功能时&#xff0c;反射&#xff08;Reflection&#xff09;是一个不可忽视的特性。反射允许程序在运行时检查和操作其自身的结构&#xff0c;这为开发者提供了一种动态获取信息和执行操作的途径。在本篇博客中&#xff0c;我们将深入探讨Java反射的原…