数据库实验SQL语言的嵌套查询和组合查询.docx
- 文档编号:27894331
- 上传时间:2023-07-06
- 格式:DOCX
- 页数:14
- 大小:110.07KB
数据库实验SQL语言的嵌套查询和组合查询.docx
《数据库实验SQL语言的嵌套查询和组合查询.docx》由会员分享,可在线阅读,更多相关《数据库实验SQL语言的嵌套查询和组合查询.docx(14页珍藏版)》请在冰豆网上搜索。
数据库实验SQL语言的嵌套查询和组合查询
实验实习名
SQL语言的嵌套查询和组合查询
指导教师
考核成绩
课程名称
数据库原理
课程编号
实验实习地点
完成日期
2017-04-23
学生姓名
学生学号
学院专业
所在班级
教师评语
教师签名:
年月日
(以下为参考内容,具体内容要求由课程在实验实习指导书中规定。
)
一、实验实习目的及要求
(一)、实验目的
数据查询语言指对数据库中的数据查询、统计、分组、排序等操作。
查询语句可以分为嵌套查询和组合查询等。
本次实验了解SQL语言的SELECT语句对数据的查询,学会在NavicatforMySQL中用SELECT语句对表中的数据进行嵌套查询和组合查询。
(二)、实验要求
1、实验前:
预习实验内容,学习相关知识。
2、实验中:
按照实验内容要求进行实验,实验时注意每种SQL语句的基本命令及各个关键字的含义,做好实验记录。
3、实验后:
分析实验结果,总结实验知识,得出结论,按格式写出实验报告。
4、在整个实验过程中,要独立思考、独立按时完成实验任务,不懂的要虚心向教师或同学请教。
5、要求按指定格式书写实验报告,且报告中应反映出对本次实验的总结,下次实验前交实验报告。
二、实验实习设备(环境)及要求(软硬件条件)
硬件:
已联网的笔记本一台
软件:
Navicatfor
三、实验实习内容与步骤
(一).实验内容
1.用SELECT语句对表进行嵌套查询操作,一个Select„From„Where语句称为一个查询块,将一个查询块嵌套在另一个查询块的Where子句或Having短语的条件中的查询,就是嵌套查询。
主要有使用In操作符、Exist操作符、使用比较运算符的嵌套查询方式。
2.用SELECT语句对表进行集合查询操作,将SELECT语句的查询结果集再进行集合运算就构成了SQL的集合查询。
集合查询操作符有Union(并操作)、Intersect(交操作)和Minus(差操作)。
目前MySQL仅支持Union(并操作)。
(二).实验步骤
执行以下内容:
1.启动NavicatforMySQL,在MySQL–新建连接中完成连接参数配置。
2.登录到本地数据库服务器后,连接到test数据库上。
3.用CreateTable建立Student表,表结构如下所示:
属性名
类型
长度
SNO
Varchar
20
Name
Varchar
10
Age
Integer
College
Varchar
30
4.用CreateTable建立Course表,表结构如下所示:
字段名
类型
长度
CourseID
Varchar
15
CourseName
Varchar
30
CourseBeforeID
Varchar
15
5.用CreateTable建立Choose表,表结构如下所示:
字段名
类型
长度
SNO
Varchar
20
CourseID
Varchar
30
Score
DECIMAL
5,2
6.用INSERT语句向Student表中插入3个元组:
SNO
Name
Age
College
S00001
张三
20
计算机学院
S00002
李四
19
通信学院
S00003
王五
21
计算机学院
7.用INSERT语句向Course表中插入3个元组:
CourseID
CourseName
CourseBeforeID
C1
计算机引论
空值(NULL)
C2
C语言
C1
C3
数据结构
C2
8.用INSERT语句向Choose表中插入7个元组
SNO
CourseID
Score
S00001
C1
95
S00001
C2
80
S00001
C3
84
S00002
C1
80
S00002
C2
85
S00003
C1
78
S00003
C3
70
9.用SELECT的存在量词EXISTS,查询与“张三”在同一个学院学习的学生信息。
10.用SELECT语句的嵌套查询,查询选修C1课程的成绩低于“张三”的学生的学号和成
11.用SELECT语句的组合查询(UNION),查询选修了C1课程或者选修了C3课程的学生号。
12.用SELECT语句的组合查询(UNION)与DISTINCT短语,查询选修了C1课程或者选修C3课程的学生学号,并取消重复的数据。
四、实验实习过程或算法(源程序、代码)
1.用CreateTable建立Student表代码:
CREATETABLEStudent
(SNOvarchar(20),
Namevarchar(10),
Ageinteger,
Collagevarchar(30));
2.用CreateTable建立Course表代码
CREATETABLECourse
(CourseIDvarchar(15),
CourseNamevarchar(30),
CourseBeforeIDvarchar(15));
3..用CreateTable建立Choose代码
CREATETABLEChoose
(SNOvarchar(20),
CourseIDvarchar(30),
ScoreDECIMAL);
4.用INSERT语句向Student表中插入3个元组代码
INSERTINTOStudentVALUE('S00001','张三',20,'计算机学院');
INSERTINTOStudentVALUE('S00002','李四',19,'通信学院');
INSERTINTOStudentVALUE('S00003','王五',21,'计算机学院');
5.用INSERT语句向Course表中插入3个元组代码
INSERTINTOCourseVALUE('C1','计算机引论',NULL);
INSERTINTOCourseVALUE('C2','C语言','C1');
INSERTINTOCourseVALUE('C3','数据结构','C2');
6.用INSERT语句向Choose表中插入7个元组代码
INSERTINTOChooseVALUE('S00001','C1',95);
INSERTINTOChooseVALUE('S00001','C2',80);
INSERTINTOChooseVALUE('S00001','C3',84);
INSERTINTOChooseVALUE('S00002','C1',80);
INSERTINTOChooseVALUE('S00002','C2',85);
INSERTINTOChooseVALUE('S00003','C1',78);
INSERTINTOChooseVALUE('S00003','C3',70);
7.用SELECT的存在量词EXISTS,查询与“张三”在同一个学院学习的学生信息代码及运行结果
代码:
select*
fromStudentS1
whereEXISTS
(select*
fromStudentS2
where=and='张三'
)
运行结果:
8.用SELECT语句的嵌套查询,查询选修C1课程的成绩低于“张三”的学生的学号和成绩。
代码:
selectSNO,Score
fromchoose
whereCourseID='C1'andScore selectScore fromstudent,choose where=andCourseID='C1'andName='张三' ) 运行结果: 9.用SELECT语句的组合查询(UNION),查询选修了C1课程或者选修了C3课程的学生学号。 代码: selectSNO fromchoose wherecourseID='C1' union selectSNO fromchoose wherecourseID='C3' 运行结果: 10.用SELECT语句的组合查询(UNION)与DISTINCT短语,查询选修了C1课程或者选修了C3课程的学生学号,并取消重复的数据。 代码: selectdistinctSNO fromstudent whereSNOin(selectSNOfromchoosewhereCourseID='C1') union selectdistinctSNO fromstudent whereSNOin(selectSNOfromchoosewhereCourseID='C3') 运行结果: DQL补充仓库管理系统 要求: 1、仓库设备可自己设定(比如邮电大学资产处的仓库,仓库里有各种型号电脑) 2、定义基础表(表结构里面的数据类型自己定义) 3、给表里面输入一些基础数据(自己设定) 4、查询仓库里面设备的总类型量 5、查询仓库某一入库时间(某一天)的所有入库设备 6、查询仓库的设备出库某一领取人(可模糊查询)在某一出库时间范围的设备情况 7、查询出现有库存表中已经是小于等于最小库存的设备号及名称,以准备采购。 8、查询某一部门需求的某一设备在库存里面是否够该部门需求数量? 9、根据某一设备库存总数已经低于最小库存数量警戒线的设备和最大库存的上限,并自动查询生成出该设备的设备采购计划表(包括采购计划表的设备号、现有总库存数、最大库存、该购买数量的信息) 对各个表插入代码: 表一 insertintoshebeibiaovalues('001','微星'); insertintoshebeibiaovalues('002','宏碁'); insertintoshebeibiaovalues('003','外星人'); 表二 insertintosbrkbvalues('0001','',’微星官方旗舰店',’10010','20','5000','旺旺'); insertintosbrkbvalues('0002','',’宏碁官方旗舰店','10086','20','6000','康康'); insertintosbrkbvalues('0003','','外星人官方旗舰店','10000','20','7000','霆霆'); 表三 insertintosbckbvalues('001','团委','','已出库','小乔','15','小曹','办公'); insertintosbckbvalues('002','学生会','','已出库','大乔','11','小刘','办公'); insertintosbckbvalues('003','物业','','已出库','小周','6','小孙','办公'); 表四 insertintoxykcbvalues('001','20','40','5'); insertintoxykcbvalues('002','12','20','2'); insertintoxykcbvalues('003','5','15','1'); 表五 insertintobmxqbvalues('001','计算机学院','9','',''); insertintobmxqbvalues('002','传媒学院','6','',''); insertintobmxqbvalues('003','马克思学院','3','',''); 表六 insertintosbcgjhbvalues('001','12','20','0','微星官方旗舰店','5000','null'); insertintosbcgjhbvalues('002','15','30','5','宏碁官方旗舰店','6000',''); insertintosbcgjhbvalues('003','15','25','3','外星人官方旗舰店','7000',''); 1.查询仓库里面设备的总类型量代码 代码: select count(shebeimingcheng) from shebeibiao 运行结果: 2.查询仓库某一入库时间()的所有入库设备代码及运行结果 代码: selectshebeimingcheng fromshebeibiao whereshebeihaoin( selectshebeihao fromsbrkb whererukushijian='');) 运行结果: 3.查询仓库的设备出库某一领取人(可模糊查询)在某一出库时间范围的设备情况代码及运行结果 代码: select lingquren from sbckb where chukushijian like "201704%"; ; 运行结果: 4.查询出现有库存表中已经是小于等于最小库存的设备号及名称,以准备采购代码及运行结果 代码: selectshebeibiao.* fromxykcb,shebeibiao where=andxianyoukucunzongshu<=zuixiaokucun 运行结果: 5.查询某一部门需求的某一设备在库存里面是否够该部门需求数量? 代码: select ,, from xykcb,bmxqb where = ; 运行结果: 6.根据某一设备库存总数已经低于最小库存数量警戒线的设备和最大库存的上限,并自动查询生成出该设备的设备采购计划表代码及运行结果 代码: select ,,, from sbcgjhb,xykcb where = and < 运行结果: 五、实验实习结果分析和(或)源程序调试过程 心得体会: (1)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实验 SQL 语言 嵌套 查询 组合