数据库实验SQL语言的嵌套查询和组合查询

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

2•用SELECT语句对表进行集合查询操作,将SELECT语句的査询结果集再进行集合运算就构成了SQL的集合査询。

集合査询操作符有Union(并操作)、Intersect (交操作)和Minus(差操作)。

目前MySQL仅支持Union(并操作)。

(二).实验步骤
执行以下内容:
1.启动Navicat for MySQL,在MySQL -新建连接中完成连接参数配巻。

2.登录到本地数据库服务器后,连接到test数据库上。

3•用Create Table建立Student表,表结构如卜所示:
4.用Create Table建立
5•用Create Table建立
6•用INSERT语句向
7•用INSERT
8•用INSERT
9•用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 (CourselD varchar(15),
CourseName varchar(30), CourseBeforelD varchar(15)); 3. •用 Create Table 建立 Choose 代码 CREATE TABLE Choose
(SNO varchar(20), CourselD varchar (30), Score DECIMAL);
4•用INSERT 语句向Student 表中插入3个元组代码
INSERT INTO Student VALUEC S00001','张三',20,'计算机学院');
I
NSERT INTO Student VALUE(J S00002','李四',19/ 通信学院');
INSERT INTO Student VALUEC S00003,,'王五’,21,1 计算机学院'); 5 •用INSERT 语句向Course 表中插入3个元组代码
INSERT INTO Course VALUE ('Cl','计算机引论?, NULL); INSERT INTO Course VALUE (' C2\9C 语言'f ' Cf );
INSERT INTO Course VALUE (' C3‘ / 数据结构'J C2‘);
7.用SELECT 的存在量词EXISTS,查询与“张三”在同一个学院学习的学生信息 代码及运行结果 代码:select *
from Student SI where EXISTS
(select *
6•用INSERT 语句向Choose 表中插入7个元组代码 VALUE (^OOOOr/Cf, 95); VALUE (,S00001,,,C2>, 80); VALUE ('S00001','C3', 84); VALUE (,S00002,,,Cr, 80); VALUE (,S00002,,,C2>, 85); VALUE (,S00003,,,Cr, 78); VALUE (,S00003,,,C3,, 70);
INSERT INSERT INSERT INSERT INSERT INSERT INSERT INTO INTO INTO INTO INTO INTO INTO Choose Choose Choose Choose Choose Choose
Choose
from Student S2 and ='张三'
where CourselD = 'C1‘ and Score<any(
select Score
from student,choose and CourselD = r Cr and Name= •张三‘
) 行 select SNO f Score 2
from choose
3 Swhere CourselD = 1 Cl' and Score<any (
4 select Score
5 from student r choose 6
where student ・SNO = choose ・SNO and CourselD = 1 Cl 1 and Nairne =
信息
结果1 狂况 状态 SNO Score S00002 80 S00003 78 9.用SELECT 语句的组合査询(UNION),査询选修了 Cl 课程或者选修了 C3课程 的学生学号。

代码:select SNO
from choose where courselD = 'Cl' union select SNO from choose
where ) 行
1 2 3 4
5 6
7
select *
from Student SI whe re
EXISTS (select *
from Student S2 where £2・ College = S ;l ・ College and S ;2・ Haire =| '张三' 信慝 结果[
狀态
SNO Name
Age College > S00001
20计算机学院
S00003 IS
21计算机学疣
&用 号和成绩。

代码:select SNO.Scorc
from choose
where
•)
SELECT 语句的嵌套查询,查询选修C1课程的成绩低于“张三”的学生的学
where courselD = ' C3‘
selecr SNO choose
wher 皂 courselD = 'Cl' union select SNO
SELECT 语句的组合查询(UNION )与DISTINCT 短语,查询选修了 Cl 课程 C3课程的学生学号,并取消重复的数
据。

select distinct SNO from student
where SNO in (select SNO from choose where CourselD = 'Cl') union select distinct SNO from student
where SNO in (select SNO from choose where CourselD = 'C3')

行 结

1 select discinct SMO
2 from scudent
3 4
where SNO in. (select union SNO
from choose
where CourselD = "Cl*)
5 select distinct SMO
6 from student
7 wh.ere SNO in. (select
SNO
froir. choose
where CourselD = l C31}
信息
结果1 挪兄状态
SNO
> S00001
S00002
S00003
DQL 补充仓库管理系统 要求:
1、 仓库设备可自己设定(比如邮电大学资产处的仓库,仓库里有各种型号电脑)
2、 定义基础表(表结构里面的数据类型自己定义)
3、 给表里面输入一些基础数据(自己设定)
4、 查询仓库里面设备的总类型量
5、 查询仓库某一入库时间(某一天)的所有入库设备
6、 查询仓库的设备出库某一领取人(可模糊查询)在某一出库时间范围的设备情况
7、 查询出现有库存表中已经長小于等于最小库存的设备号及名称,以准备采购。

8. 查询某一部门需求的某一设备在库存里面是否够该部门需求数量?
9、 根据某一设备库存总数巳经低于最小库存数量警戒线的设备和最大库存的上限,并自动 查询生成出该设备的设备采购计划表(包
1 2 3 4 5
运行结果:
10.用 或者选修了
代码:
括采购计划表的设备号、现有总库存数.最大库存、该购买数量的信息)
对各个表插入代码:
表一
insert into shebeibiao values ('001’,’微星');
insert into shebeibiao values ('002’,’宏碁');
insert into shebeibiao values ('003','夕卜星人');
shebeihao shebeimingcheng
►001
002
003外星人
表二
insert into sbrkb values (' 000T' J 微星官方旗舰店','10010’, 20 / 5000',' 旺旺');
insert into sbrkb values C0002’,'',’宏碁官方旗舰店','10086’, * 20 / 6000’,' 康康');
insert into sbrkb values('0003’'外星人官方旗舰店',T0000'J 20’「7000'J 霆霆');
shebeihao rukushijia n gongyingshang gongyin gshangdianhua rukushu liang j詁ge k 000120170420繳星前旗舰店10010205000
000220170421宏号前旗舰店10086206000 000320170422外星人官方旗舰店10000207000
表三
insert into sbckb values (' 00T ,'团委',,T 已出库',’小乔','15:小曹办公');
insert into sbckb values (' 002’,'学生会''已出库','大乔',T1','小刘办公');
insert into sbckb values C 003','物业',,T 已出库','小周’6’,’小孙',' 办公');
shebeihao shiyongbumen chukushijia n chukuzhuangkuang jingshoui en chukushulia ►00120170420已出库15
002学生会20170421已岀库11
003物业20170422已岀库小周6
表四
insert into xykcb values C 00T20', ' 40’,’ 5’); insert into xykcb
values (' 002’12', ' 20’,' 2’);
insert into xykcb values (' 003'5', T5‘,' 1’);
3
shebe-ihao
xinny oukuc un zongshu zuidakucun zuixiaokucun
001
20 40 5 ► 002|
12 20 2
003
5
15
1
into bmxqb values (' 001','计算机学院'9’; into bmxqb values (' 002','传媒学院',‘ 6'; into bmxqb values C 003’,'马克思学院'J 3’;
表五 insert insert insert
shebeihao bumenmingcheng
001 002 003
马克思学冼
xuyaoshuliang 9 6
3
xuqiukaishishijian 20170419 20170420 20170421
xuqiuj 20170 20170 eshushijian 423 424 20170425
表六
insert into ','5000'
「null');
insert into
','6000*,‘ ’);
insert into
,,,
7000,,,,):
sbcgjhb
sbcgjhb
sbcgjhb shebeihao 001 002 003
values C 001,/12,,,20\,0,/ 微 星官方旗舰店 values C 002,,,15,,,30\,5,/ 宏 碁官方 旗舰店
values (* 003' J 15: 25: 3: 外星人官方旗舰店
xinn youhjcu nzongshu 12 15 15
乙 u idakuc
un 20 30 25
goumaishuliang 0 5 3
gongyir gshang 微1
官F 證观应 左骞官
T :-am 夕卜星人
官方塗舰店
J'age 5000 6000 7000
1. 查询仓库里面设备的总类型莹代码
代码:select count (shebeimingcheng) from shebeibiao
运行结果:
2. 查询仓库某一入库时间()的所有入库设备代码及运行结果
结果1畔兄
信息
countCshebeimmgcheng)
代码:select shebcimingcheng from
shebeibiao
where shebeihao in(
select shebeihao
from sbrkb
where mkushijian =");)
1select shebeiniingcheng
2from shebmlblao
□•where shebwihao in(
select shebeihao from sbrkb
where rukushijian
,20170306,)
信慝结剽鶴兄状态
shebeimingche ng
►I NU II)_
3.查询仓库的设备出库某一领取人(可模糊查询)在某一出库时间范围的设备情况代码及运行结果代码:select lingquren
from sbckb
where chukushijian like "201704%〃;
1select, lingquren
2 f roiri sbckb
3wh.ere chmJcushi jian like r,201704%n;
4
信息结果]厩兄状态
运行结果:
4.查询出现有库存表中已经是小于等于最小库存的设备号及名称,以准备采购代码及
运行结果
代码:select shebeibiao.*
from xykcb,shebeibiao
where = and xianyoukucunzongshu<=zuixiaokucun 运行J 结果:
1select shebeibiao・“
2from xykeb z shebe ibi ao
3wheie xykcb.ghRbeihao = shebmlblao・shebeihao and xianyoukucunzongshu<= zu
4
信息结果]圖兄状态
shebeihao shebeimingcheng
►001
002
5.查询某一部门需求的某一设备在库存里面是否够该部门需求数呈? 代码:select ,, from xykcb, bmxqb where =;
运行结果
1select hmxqfc-. bunienmingcheng, xykeb. xianyoukucunzongshu, fcirj;qb • xu.yaoshulia
2fiom xykcb,bmxqb
3whexe xykcb.shebeihao = bmxqb-shebeihao;
4
信息结果1 爲兄狀态
b ume nmingcher ng xia ny oukucu nzongshu xuyaoshuliang
卜计算机学院20g
传媒学院126
马克思学皖53
6.根据某一设备库存总数已经低于最小库存数量警戒线的设备和最大库存的上限,并自动查询生成出该设备的设备采购计划
表代码及运行结果
代码:select ,,,
from sbcgjhb,xykcb
where = and <
运行结果:
1sb eg j hb. shebeihao f s bcgjhto •羞ienyoukuGUiizozigshu, sbeg jhh. zui
iakU-Gun, sb-cgjhi 2ocgjhb,. xykcb
3sykeb.she= sbcgjhfo.shebeihao and xykcb.xianyoukucun
4
信息结果]槪兄状态
shebeihao xianyoukucunzongshu zuidakucun goumaishulia ng
►00112 200
00215 30 5
五、实验实习结果分析和(或)源程序调试过程心得体会:
(1)。

相关文档
最新文档