SQL 数据查询与维护.doc
文本预览下载声明
《数据库原理》实验报告 姓名 学号 日期 2013.04.25 实验室 指导教师 设备编号 实验题目 实验单元三 SQL 数据查询与维护 一、实验目的
1)熟悉SQL数据查询语言
2)熟练的用SQL语句进行多表连接查询、嵌套查询、集合查询。
二、实验内容
1)还原得到实验二中建立的SPJ数据库;
2)求供应工程J1零件的供应商号码SNO;
3)求供应工程J1零件P1的供应商号码SNO;
4)求没有使用天津供应商生产的红色零件的工程号JNO;
5)求至少使用了供应商S1所供应的全部零件的工程号JNO;
6)找出所有供应商的姓名和所在城市;
7)找出所有零件的名称、颜色和重量;
8)找出使用供应商S1所供应零件的工程号;
9)找出工程项目J2使用的各种零件的名称及其数量;
10)找出上海厂商供应的所有零件号码;
11)找出使用上海产的零件的工程名称;
12)找出没有使用天津产的零件的工程号码;
13)把全部红色零件的颜色改为蓝色;
14)由S5供应J4的零件P6改为有S3供应;
15)从供应商关系中删除S2的记录,并从供应关系中删除相应的记录;
16)将(S2,J6,P4,200)插入到供应关系中
若有剩余时间,建立教材上的JXGL数据库Student、SC、Course表,并练习教材上给出的各个SQL查询的例子。 三、实验要求
实验报告中要求分别列出进行1)~16)操作的SQL语句,并指出语句能否执行并得到正确结果。
考虑能否使用多表查询和嵌套查询方法实现,对于嵌套查询考虑是否可以用EXISTS谓词实现。
四、实验结果
1)还原数据库SPJ
2) 求供应工程J1零件的供应商号码SNO
select distinct sno
from spj
where jno=j1;
3) 求供应工程J1零件P1的供应商号码SNO
select distinct sno
from spj
where jno=j1 and pno=p1;
4) 求没有使用天津供应商生产的红色零件的工程号JNO;
select distinct jno
from s,p,spj
where not city=天津 and not color=红 and s.sno=spj.sno and p.pno=spj.pno;select distinct jno
from spj spjz
where not exists (select *
from spj spjx
where spjx.sno=s1 and not exists(select *
from spj spjy
where spjy.pno=spjx.pno and
spjy.jno=spjz.jno and
spjy.sno=s1));
6) 找出所有供应商的姓名和所在城市
select sname,city
from s;
7) 找出所有零件的名称、颜色和重量
select pname,color,weight
from p;
8) 找出使用供应商S1所供应零件的工程号
select jno
from spj
where sno=s1;
9) 找出工程项目J2使用的各种零件的名称及其数量
select pname,qty
from p,spj
where p.pno=spj.pno and jno=j2;
10) 找出上海厂商供应的所有零件号码
select pno
from spj
where sno= (select sno
from s
where city=上海);select jname
from j
where jno in(select jno
from spj
where sno in (select sno
from s
where city=上海 ));select distinct jno
from spj
where not sno in(select sno
显示全部