数据库实验SQL语言的嵌套查询和组合查询_第1页
数据库实验SQL语言的嵌套查询和组合查询_第2页
数据库实验SQL语言的嵌套查询和组合查询_第3页
数据库实验SQL语言的嵌套查询和组合查询_第4页
数据库实验SQL语言的嵌套查询和组合查询_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验实习名SQL 语言的嵌套查询和组合查询指导教师考核成绩课程名称数据库原理课程编号实验实习地点完成日期2017-04-23学生姓名学生学号学院专业所在班级教师评语教师签名: 年 月 日(以下为参考内容,具体内容要求由课程在实验实习指导书中规定。)一、实验实习目的及要求(一)、实验目的 数据查询语言指对数据库中的数据查询、统计、分组、排序等操作。查询语 句可以分为嵌套查询和组合查询等。本次实验了解 SQL 语言的 SELECT 语句对数据的查询,学会在 Navicat forMySQL 中用 SELECT 语句对表中的数据进行嵌套查询和组合查询。 (二)、实验要求 1、实验前:预习实验内容,学习相关知识。 2、实验中:按照实验内容要求进行实验,实验时注意每种 SQL 语句的基本命令 及各个关键字的含义,做好实验记录。 3、实验后:分析实验结果,总结实验知识,得出结论,按格式写出实验报告。 4、在整个实验过程中,要独立思考、独立按时完成实验任务,不懂的要虚心向 教师或同学请教。 5、要求按指定格式书写实验报告,且报告中应反映出对本次实验的总结,下次 实验前交实验报告。 二、实验实习设备(环境)及要求(软硬件条件) 硬件:已联网的笔记本一台 软件:Navicat for MySQL5.7三、实验实习内容与步骤 (一).实验内容 1.用 SELECT 语句对表进行嵌套查询操作,一个 SelectFromWhere 语句 称为一个查询块,将一个查询块嵌套在另一个查询块的 Where 子句或 Having 短 语的条件中的查询,就是嵌套查询。主要有使用 In 操作符、Exist 操作符、使 用比较运算符的嵌套查询方式。 2.用 SELECT 语句对表进行集合查询操作,将 SELECT 语句的查询结果集再进 行集合运算就构成了 SQL 的集合查询。集合查询操作符有 Union(并操作)、 Intersect(交操作)和 Minus(差操作)。目前 MySQL 仅支持 Union(并操作)。 (二).实验步骤 执行以下内容: 1.启动 Navicat for MySQL,在 MySQL 新建连接中完成连接参数配置。 2.登录到本地数据库服务器后,连接到 test 数据库上。 3.用 Create Table 建立 Student 表,表结构如下所示:属性名类型长度SNOVarchar20NameVarchar10AgeIntegerCollegeVarchar304.用 Create Table 建立 Course 表,表结构如下所示:字段名类型长度CourseIDVarchar15CourseNameVarchar30CourseBeforeIDVarchar155.用 Create Table 建立 Choose 表,表结构如下所示:字段名类型长度SNOVarchar20CourseIDVarchar30ScoreDECIMAL5,26.用 INSERT 语句向 Student 表中插入 3 个元组:SNONameAgeCollegeS00001张三20计算机学院S00002李四19通信学院S00003王五21计算机学院7.用 INSERT 语句向 Course 表中插入 3 个元组:CourseIDCourseNameCourseBeforeIDC1计算机引论空值(NULL)C2C 语言C1C3数据结构C2 8.用 INSERT 语句向 Choose 表中插入 7 个元组 SNOCourseIDScoreS00001C195S00001C280S00001C384S00002C180S00002C285S00003C178S00003C3709.用 SELECT 的存在量词 EXISTS,查询与“张三”在同一个学院学习的学生信息。10.用 SELECT 语句的嵌套查询,查询选修 C1 课程的成绩低于“张三”的学生的 学号和成11.用 SELECT 语句的组合查询(UNION),查询选修了 C1 课程或者选修了 C3 课程 的学生号。 12.用 SELECT 语句的组合查询(UNION)与 DISTINCT 短语,查询选修了 C1 课程或 者选修C3课程的学生学号,并取消重复的数据。 四、实验实习过程或算法(源程序、代码) 1. 用 Create Table 建立 Student 表代码: CREATE TABLE Student(SNO varchar(20),Name varchar(10),Age integer,Collage varchar(30); 2. 用 Create Table 建立 Course 表代码 CREATE TABLE Course(CourseID varchar(15),CourseName varchar(30),CourseBeforeID varchar(15); 3. .用 Create Table 建立 Choose代码 CREATE TABLE Choose(SNO varchar(20),CourseID varchar(30),Score DECIMAL(5.2); 4.用 INSERT 语句向 Student 表中插入 3 个元组代码 INSERT INTO Student VALUE(S00001,张三,20,计算机学院);I NSERT INTO Student VALUE(S00002,李四,19,通信学院);INSERT INTO Student VALUE(S00003,王五,21,计算机学院); 5 .用 INSERT 语句向 Course 表中插入 3 个元组代码 INSERT INTO Course VALUE(C1,计算机引论,NULL);INSERT INTO Course VALUE(C2,C语言,C1);INSERT INTO Course VALUE(C3,数据结构,C2); 6.用 INSERT 语句向 Choose 表中插入 7 个元组代码INSERT INTO Choose VALUE(S00001,C1,95);INSERT INTO Choose VALUE(S00001,C2,80);INSERT INTO Choose VALUE(S00001,C3,84);INSERT INTO Choose VALUE(S00002,C1,80);INSERT INTO Choose VALUE(S00002,C2,85);INSERT INTO Choose VALUE(S00003,C1,78);INSERT INTO Choose VALUE(S00003,C3,70); 7. 用 SELECT 的存在量词 EXISTS,查询与“张三”在同一个学院学习的学生信息代码及运行结果 代码:select *from Student S1where EXISTS (select * from Student S2 where S2.College = S1.College and S2.Name = 张三)运行结果:8.用 SELECT 语句的嵌套查询,查询选修 C1 课程的成绩低于“张三”的学生的 学号和成绩。 代码:select SNO,Scorefrom choosewhere CourseID = C1 and Scoreany( select Score from student,choose where student.SNO = choose.SNO and CourseID = C1 and Name= 张三 )运行结果: 9. 用 SELECT 语句的组合查询(UNION),查询选修了 C1 课程或者选修了 C3 课程 的学生学号。 代码:select SNOfrom choosewhere courseID = C1union select SNOfrom choosewhere courseID = C3运行结果:10. 用 SELECT 语句的组合查询(UNION)与 DISTINCT 短语,查询选修了 C1 课程或 者选修了 C3 课程的学生学号,并取消重复的数据。 代码:select distinct SNOfrom studentwhere SNO in (select SNO from choose where CourseID = C1)union select distinct SNOfrom studentwhere SNO in (select SNO from choose where CourseID = C3)运行结果:DQL补充仓库管理系统要求:1、仓库设备可自己设定(比如邮电大学资产处的仓库,仓库里有各种型号电脑)2、定义基础表(表结构里面的数据类型自己定义)3、给表里面输入一些基础数据(自己设定)4、查询仓库里面设备的总类型量5、查询仓库某一入库时间(某一天)的所有入库设备6、查询仓库的设备出库某一领取人(可模糊查询)在某一出库时间范围的设备情况7、查询出现有库存表中已经是小于等于最小库存的设备号及名称,以准备采购。8、查询某一部门需求的某一设备在库存里面是否够该部门需求数量?9、根据某一设备库存总数已经低于最小库存数量警戒线的设备和最大库存的上限,并自动查询生成出该设备的设备采购计划表(包括采购计划表的设备号、现有总库存数、最大库存、该购买数量的信息)对各个表插入代码:表一insert into shebeibiao values (001,微星);insert into shebeibiao values (002,宏碁);insert into shebeibiao values (003,外星人);表二insert into sbrkb values(0001,20170420,微星官方旗舰店,10010,20,5000,旺旺);insert into sbrkb values(0002,20170421,宏碁官方旗舰店,10086,20,6000,康康);insert into sbrkb values(0003,20170422,外星人官方旗舰店,10000,20,7000,霆霆);表三insert into sbckb values (001,团委,20170420,已出库,小乔,15,小曹,办公);insert into sbckb values (002,学生会,20170421,已出库,大乔,11,小刘,办公);insert into sbckb values (003,物业,20170422,已出库,小周,6,小孙,办公);表四insert into xykcb values(001,20,40,5);insert into xykcb values(002,12,20,2);insert into xykcb values(003,5,15,1);表五insert into bmxqb values(001,计算机学院,9,20170419,20170423);insert into bmxqb values(002,传媒学院,6,20170420,20170424);insert into bmxqb values(003,马克思学院,3,20170421,20170425);表六insert into sbcgjhb values(001,12,20,0,微星官方旗舰店,5000,null);insert into sbcgjhb values(002,15,30,5,宏碁官方旗舰店,6000,20170424);insert into sbcgjhb values(003,15,25,3,外星人官方旗舰店,7000,20170424);1. 查询仓库里面设备的总类型量代码代码:selectcount(shebeimingcheng)fromshebeibiao运行结果:2. 查询仓库某一入库时间(20170306)的所有入库设备代码及运行结果代码:select shebeimingcheng from shebeibiaowhere shebeihao in( select shebeihao from sbrkb where rukushijian = 20170306);)运行结果:3. 查询仓库的设备出库某一领取人(可模糊查询)在某一出库时间范围的设备情况代码及运行结果代码:selectlingqurenfromsbckbwherechukushijianlike201704%;;运行结果:4. 查询出现有库存表中已经是小于等于最小库存的设备号及名称,以准备采购代码及运行结果代码:select shebeibiao.*from xykcb,shebeibiaowhere xykcb.shebeihao = shebeibiao.shebeihao and xianyoukucunzongshu=zuixiaokucun运行结果:5. 查询某一部门需求的某一设备在库存里面是否够该部门需求数量?代码:selectbmxqb.bumenmingcheng,xykcb.xianyoukucunzongshu,bmxqb.xuyaoshuliangfromxykcb,bmxqbwherexykcb.shebeihao=bmxqb.shebeihao;运行结果:6.

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论