业:计算机科学与技术 班级11科技    学号          姓名       
课程名称:数据库系统原理                      2012 -2013学年度第2学期
课程类别专业必修                          实验时间2013 4 20
实验名称:实验六 多表查询
实验目的和要求:
1. 了解查询的概念和方法
2. 掌握查询分析器的使用方法
3. 掌握复杂查询的实现方法
4. 掌握多表连接的方法
5. 掌握嵌套查询与集合的基本方法
6. 掌握SELECT语句在多表查询中的应用
实验软硬件要求:安装Window 2000windows xpWindows NT操作系统和 SQL Server 2000的计算机或SQL Server 2005
实验内容、实验过程、所遇问题及其解决方法
(附页)
实验总结及心得体会:这次实验使我对SQL语句和查询分析器的使用方法有了基本了解。
评定成绩:            批阅教师:                   
附页
实验内容:
针对实验数据库shiyan,完成以下单表查询操作:
1多表查询sql语句面试题查询为工程J1供应红零件的供应商号码SNO
2.查询没有使用天津供应商生产的零件并且当前工程所使用零件的颜全部为红的工程号JNO
3.查询至少选用了供应商S1所供应的全部零件的工程号JNO
4.出工程项目J2使用的各种零件的名称及其重量。
5.出上海厂商供应的所有零件号码。
6.出使用上海产的零件的工程名称。
7.出没有使用天津产的零件的工程号码。
8.出重量最轻的红零件的零件编号PNO
9.出供应商与工程所在城市相同的供应商提供的零件号码。
10.出所有这样的一些<CITYCITYPNAME>三元组,使得第一个城市的供应商为第二个城市的工程供应零件的名称为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

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。