数据库测试一(V2.0)

来源:互联网 发布:linux db2 创建实例 编辑:程序博客网 时间:2024/05/19 02:27

数据库测试一

 

一、测试范围与要求:

1. 单表查询,连接查询和嵌套查询。

2. 60分钟之内,单独完成。

3. 把每个题目的sql语句和查询截图附于题目后。

二、SPJ数据库基础介绍

供应商S表(供应商号sno,供应商名sname,状态Status,所在城市City)

 

零件P表(零件编号Pno,零件名称Pname,颜色Color,重量Weight)

 

工程J表(工程编号Jno,工程名称Jname,工程所在城市City)

 

供应表,是供应商、工程、零件三个实体之间的多对多的联系。

供应SPJ表(供应商编号Sno,零件编号Pno,工程编号Jno,数量QTY)

 

演示查询:

1、查询所有红色零件的信息

select *

from p

where color = '红'

 

2、查询所有在天津的工程

select *

from j

where city ='天津'

 

3、查询供应J1工程零件的所有供应商详细信息。

select s.*

from s,spj

where s.sno=spj.sno and jno = 'J1'

 

三、测试题目

第一部分(每题4分)

1、查询在天津的所有供应商的信息

2、查询所有蓝色的零件信息。

3、查询工程地在北京的工程信息。

4、查询每次供应数量大于200的供应信息。

5、查询供应工程J1零件的供应商编号、零件编号和数量

6、查询供应零件P1的供应商编号。

7、查询供应商S1每次供应的信息,结果按供应数量降序排序。

8、查询供应商S1供应的零件有几种。

9、查询供应商S1供应的零件编号和累计数量。

10、查询供应商S1供应的工程有几个。

 

第二部分(5分每题)

 1、查询使用了红色零件的工程编号。

2、查询供应中供应商与工程在同一个城市的供应信息。

3、查询‘弹簧厂’用到的所有零件名称。

4、查询使用‘螺丝刀’零件的工程编号。

5、查询供应‘一汽’螺母零件的供应商信息。

6、查询供应‘三建’工程,零件名称带‘螺’的所有供应商信息。

7、查询所有工程的供应情况,没有供应的也要显示。(提示外连接完成)

8、查询可供应P1、P2、P3三种零件的供应商编号。

9、查询供应了J1工程两种以上的零件的供应商编号和零件总类数。

10、查询在北京或天津的供应商的供应零件种类有几种。

 

第三部分(8分每题)

1、查询供应商S1供应的工程每个工程,每种零件的零件累计数量和。

2、根据SPJ供应关系查询,可供应所有零件的供应商名称。

3、查询供应所有工地的供应商编号。

4、查询使用了所有零件的工程编号。

5、至少使用了S2所供应的所有零件种类的工程编号。

6、查询没有使用天津供应商供应零件的工程编号。

7、查询没有使用天津供应商供应的红色零件的所有工程编号。

三、参考资料:

建立spj数据库sql代码:

create database spj go use spj go create table S  (  Sno char(4) primary key,  Sname char(20) unique,  Status smallint,  City char(10)  ); create table P  (  Pno char(4) primary key,  Pname char(20),  Color char(10),  Weight smallint,  ); create table J  (  Jno char(4) primary key,  Jname char(20),  City char(10)  ); gocreate table SPJ  (  Sno char(4),  Pno char(4),  Jno char(4),  Qty smallint,  PRIMARY KEY (Sno,Pno,Jno),  FOREIGN KEY (Sno) REFERENCES S(Sno),  FOREIGN KEY (Pno) REFERENCES P(Pno),  FOREIGN KEY (Jno) REFERENCES J(Jno)  ); goinsert into S values('S1','精益',20,'天津'); insert into S values('S2','盛锡',10,'北京'); insert into S values('S3','东方红',30,'北京'); insert into S values('S4','丰泰盛',20,'天津'); insert into S values('S5','为民',30,'上海'); insert into P values('P1','螺母','红',12); insert into P values('P2','螺栓','绿',12); insert into P values('P3','螺丝刀','蓝',12); insert into P values('P4','螺丝刀','红',12); insert into P values('P5','凸轮','蓝',12); insert into P values('P6','齿轮','红',12); insert into J values('J1','三建','北京'); insert into J values('J2','一汽','长春'); insert into J values('J3','弹簧厂','天津'); insert into J values('J4','造船厂','天津'); insert into J values('J5','机车厂','唐山'); insert into J values('J6','无线电厂','常州'); insert into J values('J7','半导体厂','南京'); goinsert into SPJ values('S1','P1','J1',200); insert into SPJ values('S1','P1','J3',100); insert into SPJ values('S1','P1','J4',700); insert into SPJ values('S1','P2','J2',100); insert into SPJ values('S2','P3','J1',400); insert into SPJ values('S2','P3','J2',200); insert into SPJ values('S2','P3','J3',500); insert into SPJ values('S2','P3','J4',400); insert into SPJ values('S2','P5','J1',400); insert into SPJ values('S2','P5','J2',100); insert into SPJ values('S3','P1','J1',200); insert into SPJ values('S3','P3','J1',200); insert into SPJ values('S4','P5','J1',100); insert into SPJ values('S4','P6','J3',300); insert into SPJ values('S4','P6','J4',200); insert into SPJ values('S5','P2','J4',100); insert into SPJ values('S5','P3','J1',200); insert into SPJ values('S5','P6','J2',200); insert into SPJ values('S5','P6','J4',500); goselect * from S select * from P select * from J select * from SPJ 


 

原创粉丝点击