数据库原理及安全技术教学实验报告SQL实践(二)
目录
一、实验目的
二、实验软硬件要求
三、实验预习
四、实验内容(实验步骤、测试数据等)
运行结果:
1.使用查询语句完成以下任务(每一个查询都要给出SQL语句,并且列出查询结果)。
2.使用数据操纵完成以下任务(每一个任务都要给出SQL语句,并且列出查询结果)。
3.根据学生作业管理数据库以及其中的学生表、课程表和学生作业表,进行以下操作。
一、实验目的
1.掌握各种查询的使用方法。
2.掌握数据操纵的使用方法。
3. 掌握视图的使用方法。
二、实验软硬件要求
1、SQL Server 2008
三、实验预习
表连接、表更新、视图操作等SQL语句。
四、实验内容(实验步骤、测试数据等)
根据SQL实践(一)实验中创建的学生作业管理数据库以及其中的学生表、课程表和学生作业表,进行以下操作。
1.使用查询语句完成以下任务(每一个查询都要给出SQL语句,并且列出查询结果)。
(1)查询与“张志国”同一班级的学生信息(使用连接查询和子查询方式)。
(2)查询比“计算机应用基础”学时多的课程信息(使用连接查询和子查询方式)。
(3)查询选修课程号为K002的学生的学号、姓名(使用连接查询、普通子查询、相关子查询、使用exists关键字的相关子查询)。
(4)查询没有选修K001和M001课程的学号、课程号和三次成绩(使用子查询)。
2.使用数据操纵完成以下任务(每一个任务都要给出SQL语句,并且列出查询结果)。
(1)在学生表中添加一条学生记录,其中,学号为0593,姓名为张乐,性别为男,专业班级为电子05。
(2)将所有课程的学分数变为原来的两倍。
(3)删除张乐的信息。
3.根据学生作业管理数据库以及其中的学生表、课程表和学生作业表,进行以下操作。
(1)创建一个电子05的学生视图(包括学号、姓名、性别、专业班级、出生日期)。
(2)创建一个生物05的学生作业情况视图(包括学号、姓名、课程名、作业1成绩、作业2成绩、作业3成绩)。
(3)创建一个学生作业平均成绩视图(包括学号、作业1平均成绩、作业2平均成绩、作业3平均成绩)。
(4)修改第2题中生物05的学生作业情况视图,将作业2成绩和作业3成绩去掉。
(5)向电子05的学生视图中添加一条记录,其中学号为0596,姓名为赵亦,性别为男,专业班级为电子05,出生日期为1986-6-8(除了电子05的学生视图发生变化之外,看看学生表中发生了什么变化?)。
(6)将电子05的学生视图中赵亦的性别改为“女”(除了电子05的学生视图发生变化之外,看看学生表中发生了什么变化?)。
(7)删除电子05的学生视图中赵亦的记录。
(8)删除电子05的学生视图(给出SQL语句即可)。
运行结果:
1.使用查询语句完成以下任务(每一个查询都要给出SQL语句,并且列出查询结果)。
(1)查询与“张志国”同一班级的学生信息(使用连接查询和子查询方式)。
连接查询
select *
from S Student1,S Student2
where Student1.Sclass=Student2.Sclass
and Student2.Sname='张志国';
子查询
select *
from S
where Sclass in(
select Sclass
from S
where Sname='张志国'
);
(2)查询比“计算机应用基础”学时多的课程信息(使用连接查询和子查询方式)。
连接查询
select C2.Ccredit,C2.Chour,C2.Cname,C2.Cno,C2.Cteacher
from C C1,C C2
where C1.Cname='计算机应用基础'
and C1.Chour<C2.Chour;
子查询
select C2.Ccredit,C2.Chour,C2.Cname,C2.Cno,C2.Cteacher
from C C2
where C2.Chour>(
select C1.Chour
from C C1
where C1.Cname='计算机应用基础');
(3)查询选修课程号为K002的学生的学号、姓名(使用连接查询、普通子查询、相关子查询、使用exists关键字的相关子查询)。
连接查询
select S.Sno,S.Sname
from S,W
where S.Sno=W.Sno
and W.Cno='K002';
普通子查询
select S.Sno,S.Sname
from S
where S.Sno in(
select Sno
from W
where W.Cno='K002');
相关子查询
select x.Sno,x.Sname
from S x
where x.Sno in(
select Sno
from W y
where y.Cno='K002' and
x.Sno=y.Sno);
使用exists关键字的相关子查询
select x.Sno,x.Sname
from S x
where exists(
select Sno
from W y
where y.Cno='K002' and
x.Sno=y.Sno);
(4)查询没有选修K001和M001课程的学号、课程号和三次成绩(使用子查询)。
select x.Sno,x.Cno,x.Wn1,x.Wn2,x.Wn3
from W x
where not exists(
select Sno
from W y
where y.Cno='K001'
and x.Sno=y.Sno
or y.Cno='M001'
and x.Sno=y.Sno);
select x.Sno,x.Cno,x.Wn1,x.Wn2,x.Wn3
from W x
where x.Sno not in(
select y.Sno
from W y
where y.Cno in('K001','M001'));
2.使用数据操纵完成以下任务(每一个任务都要给出SQL语句,并且列出查询结果)。
(1)在学生表中添加一条学生记录,其中,学号为0593,姓名为张乐,性别为男,专业班级为电子05。
insert
into S(Sno,Sname,Ssex,Sclass)
values( '0593','张乐','男','电子05');
(2)将所有课程的学分数变为原来的两倍。
update C
set Ccredit=Ccredit*2;
(3)删除张乐的信息。
delete
from S
where Sname='张乐';
3.根据学生作业管理数据库以及其中的学生表、课程表和学生作业表,进行以下操作。
(1)创建一个电子05的学生视图(包括学号、姓名、性别、专业班级、出生日期)。
create view 电子05
as
select S.Sno,S.Sname,S.Ssex,S.Sclass,S.Sbirth
from S
where S.Sclass='电子05';
(2)创建一个生物05的学生作业情况视图(包括学号、姓名、课程名、作业1成绩、作业2成绩、作业3成绩)。
create view 生物05
as
select S.Sno,S.Sname,C.Cname,W.Wn1,W.Wn2,W.Wn3
from S,W,C
where S.Sclass='生物05'
and S.Sno=W.Sno
and W.Cno=C.Cno;
(3)创建一个学生作业平均成绩视图(包括学号、作业1平均成绩、作业2平均成绩、作业3平均成绩)。
create view 学生作业平均成绩
as
select W.Sno,avg(W.Wn1) as Wn1平均成绩,avg(W.Wn2) as Wn2平均成绩,avg(W.Wn3) as Wn3平均成绩
from W
group by W.Sno;
(4)修改第2题中生物05的学生作业情况视图,将作业2成绩和作业3成绩去掉。
alter view 生物05
as
select S.Sno,S.Sname,C.Cname,W.Wn1
from S,W,C
where S.Sclass='生物05'
and S.Sno=W.Sno
and W.Cno=C.Cno;
(5)向电子05的学生视图中添加一条记录,其中学号为0596,姓名为赵亦,性别为男,专业班级为电子05,出生日期为1986-6-8(除了电子05的学生视图发生变化之外,看看学生表中发生了什么变化?)。
insert
into 电子05(Sno,Sname,Ssex,Sclass,Sbirth)
values('0596','赵亦','男','电子05','1986-6-8')
(6)将电子05的学生视图中赵亦的性别改为“女”(除了电子05的学生视图发生变化之外,看看学生表中发生了什么变化?)。
update 电子05
set Ssex='女'
where Sname='赵亦';
(7)删除电子05的学生视图中赵亦的记录。
delete
from 电子05
where Sname='赵亦';
(8)删除电子05的学生视图(给出SQL语句即可)。
drop view 电子05;
五、实验体会
操作不够熟练,需要加强练习。
数据库原理及安全技术教学实验报告SQL实践(二)相关推荐
- 《数据库原理与应用》实验一
题目来源学校课后作业,禁商业用途,仅用于课业学习 <数据库原理与应用>实验一 一.实验目的及要求 1.掌握MySQL系统的数据库创建方式. 2.掌握MySQL系统的数据表的创建方式. 3. ...
- 《数据库原理与应用》实验二
题目来源学校课后作业,禁商业用途,仅用于课业学习 <数据库原理与应用>实验二 一.实验目的及要求 1.掌握SQL查询语言的使用. 2.掌握SQL流程控制语句的使用. 3.要求独立完成,并记 ...
- 微型计算机标致寄存器实验报告,微型计算机原理与接口技术实验报告册.doc
微型计算机原理与接口技术实验报告册 河南省高等教育自学考试 实 验 报 告 册 汽车检测与维修专业(本科) <微型计算机原理与接口技术> 市 地:_______________ 考生姓名: ...
- c语言冒泡法排序实验报告,四川大学微机原理冒泡法排序实验报告.doc
四川大学微机原理冒泡法排序实验报告四川大学微机原理冒泡法排序实验报告 <微机原理与接口技术实验报告> 学 院: 电气信息学院 班 级: 电力 老 师: 学 号: 姓 名: 目 录 实验目的 ...
- 微型计算机系统实验报告,《微型计算机系统原理及应用》实验报告1.doc
<微型计算机系统原理及应用>实验报告 实验步骤: 1.将源程序文件夹masm500存于根目录e中. 2.在win7下,单击"开始一所有程序一附件一命令提示符"进入&qu ...
- SQL触发器总结 - sql server 2012数据库基础-触发器及应用-实验报告
这是我大三第一学期<数据库基础>这门课的实验报告,总共15个实验,我挑了几个比较重要的放在博客上,方便查看和复习,尤其是最近SSM后端开发,希望对大家,以及将来的我有所帮助! 实验要求 在 ...
- SQL存储过程总结 - sql server 2012数据库基础-存储过程及应用-实验报告
这是我大三第一学期<数据库基础>这门课的实验报告,总共15个实验,我挑了几个比较重要的放在博客上,方便查看和复习,尤其是最近SSM后端开发,希望对大家,以及将来的我有所帮助! 本文是存储过 ...
- 数据库 查询计算机系姓王,数据库上机实验报告——SQL Server 2008 简单查询.doc
实验题目SQL Server 2008 简单查询实验时间2016年5月13日实验地点T616实验成绩 实验性质□验证性 √设计性 □综合性教师评价: □算法/实验过程正确: □源程序/实验内容提交 □ ...
- [渗透攻防] 一.从数据库原理学习网络攻防及防止SQL注入
这是最近自己学习渗透和网站攻防的文章,希望能深入地学习这部分知识,同时认了Na师傅和Rong师傅,知道了人外有人.天外有天,真的很享受这种探索问题.解决问题和分析知识的过程.希望文章对你有所帮助,尤其 ...
最新文章
- 这家公司用Deepfake帮明星合成语音,让他们躺着也能赚钱
- 十个同学想一起去周边城市两日游,分析方案的多/快/好等方面,并选择一种说明理由...
- 【机器视觉】 stop算子
- 如何给SAP Cloud ConnectorRegion列表中添加新的Region
- 我的2021年终总结:初为人父,从头再来
- 《企业私有云建设指南》-导读
- Android 全屏抽屉fragment,NavigationView
- c# MEF框架(四 见证奇迹的时刻之实战应用)
- 科学计算机怎么打输入abcd,Word2007让ABCD选项对齐不用愁
- 使用ajax局部更新Razor页面
- 求助matable基本
- 校招行测笔试-言语理解与表达
- 手把手教你写一个微信小程序(前端+Java后端)
- matlab中进行太阳能电池模型,基于Matlab的光伏发电系统仿真研究
- linux tomcat 验证码无法显示
- 敏捷管理中的史诗与故事
- 微信公众平台搜索文章会调用搜狗百科内容?
- 湿指纹识别技术 – 机遇与挑战并存
- php企业公司员工考勤加班系统
- 计算机图形学笔记 || 基本图形的扫描转换