数据库实验多表查询实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
附页
实验内容:
针对实验数据库shiyan,完成以下单表查询操作:
1.查询为工程J1供应红色零件的供应商号码SNO。
2.查询没有使用天津供应商生产的零件并且当前工程所使用零件的颜色全部为红色的工程号JNO。
3.查询至少选用了供应商S1所供应的全部零件的工程号JNO。
4.找出工程项目J2使用的各种零件的名称及其重量。
5.找出上海厂商供应的所有零件号码。
6.找出使用上海产的零件的工程名称。
7.找出没有使用天津产的零件的工程号码。
8.找出重量最轻的红色零件的零件编号PNO。
9.找出供应商与工程所在城市相同的供应商提供的零件号码。
10.找出所有这样的一些<CITY,CITY,PNAME>三元组,使得第一个城市的供应商为第二个城市的工程供应零件的名称为PNAME。
11.重复第15题,但不检索两个CITY值相同的三元组。
12.找出供应商S1为工程名中含有“厂”字的工程供应的零件数量总和。
实验方法、步骤以及实验结果:
操作1
(1)打开SQL Server查询分析器。
(2)在查询分析器中输入如下所示的SQL脚本:
use ShiYan
go
select sno
from spj
where jno='j1'and pno in(select pno
from p
where color='红')
操作结果:
操作2
(1)打开SQL Server查询分析器。
(2)在查询分析器中输入如下所示的SQL脚本:
use shiyan
go
select jno
from spj
where sno in (select sno
from s
where city<>'天津')
and
pno in (select pno
from p
where color='红')
操作结果:
操作3
(1)打开SQL Server查询分析器。
(2)在查询分析器中输入如下所示的SQL脚本:
select distinct jno
from spj as x
where not exists ( select *
from spj as y
where sno='s1'
and not exists (select *
from spj as z
where z.pno=y.pno and z.jno=x.jno))
操作结果:
操作4
(1)打开SQL Server查询分析器。
(2)在查询分析器中输入如下所示的SQL脚本:
use shiyan
go
select pname,weight
from p,spj
where spj.jno='j2' and spj.pno=p.pno
或者
select pname,weight
from p
where pno in (select distinct pno from spj where jno='j2') 操作结果:
操作5
(1)打开SQL Server查询分析器。
(2)在查询分析器中输入如下所示的SQL脚本:
use shiyan
go
select distinct pno
from spj
where sno=(select sno
from s
where city='上海')
操作结果:
操作6
(1)打开SQL Server查询分析器。
(2)在查询分析器中输入如下所示的SQL脚本:
use shiyan
go
select distinct jname
from s,j,spj
where spj.jno=j.jno and spj.sno=(select sno
from s
where s.city='上海') 操作结果:
操作7
(1)打开SQL Server查询分析器。
(2)在查询分析器中输入如下所示的SQL脚本:
use shiyan
go
select distinct jno
from spj
where sno in (select sno
from s
where city<>'天津')
操作结果:
操作8
(1)打开SQL Server查询分析器。
(2)在查询分析器中输入如下所示的SQL脚本:
use shiyan
go
select pno
from p
where weight=(select min(weight)
from p
where color='红')
或者
select top 1 pno
from p
where color='红'
order by weight
操作结果:
操作9
(1)打开SQL Server查询分析器。
(2)在查询分析器中输入如下所示的SQL脚本:
use shiyan
go
select distinct pno
from s,j,spj
where s.sno=spj.sno and j.jno=spj.jno and s.city=j.city 操作结果: