2 数据操作语言 DML 实验
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(4) 从供应商关系中删除 S2 的元组,并从供应情况关系中删除相应元组;
(注意
元组删除顺序) 代码: delete from SPJ where SNO='S2'; delete from S where SNO='S2';
(5)请将 S2 向工程项目 J6 供应 200 个 P4 零件的信息加入到供应关系;
select JNO from S,SPJ where S.CITY='天津' and S.SNO=SPJ.SNO );
(13) 列出包含 SNO,SNAME,PNO,PNAME,JNO,JNAME,QTY 属性的清单。 代码: select S.SNO,S.SNAME,P.PNO,PNAME,J.JNO,JNAME,QTY from SPJ,S,J,P where SPJ.SNO=S.SNO and SPJ.JNO=J.JNO and SPJ.PNO=P.PNO;
(3) 求供应工程 J1 零件为红色的供应商号码 SNO; 代码: select distinct SNO from P,SPJ
where JNO='J1' and COLOR='红' and P.PNO=SPJ.PNO;
(4) 求没有使用天津供应商生产的红色零件的工程号 JNO; 代码: select distinct JNO from SPJ where JNO not in(
create table J( JNO char(3) primary key, JNAME char(15), CITY char(10) ); 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','半导体厂','南京');
(9) 找出工程项目 J1 使用的各种零件的名称及其数量; 代码: select distinct PNAME,QTY from P,SPJ where JNO='J1' and SPJ.PNO=P.PNO;
(10) 找出上海厂商供应的所有零件号码; 代码: select PNO from SPJ,S where S.CITY='上海' and SPJ.SNO=S.SNO;
(注
(注:以下操作利用学生关系模式 Student、Course 和 SC 三个基本表进行) 5、用 Insert、Delete 和 Update 语句实现如下数据更新 (1) 对每一个系,求学生的平均年龄,并把结果存入数据库。 提示:首先在数据库中建
立一个新表,用其中一列存放系名称,另一列存 放该系学生的平均年龄。然后对 Student 表按系分组求平均年龄,并将系 名和平均年龄存入新表中。 代码: create table Stu( sdept varchar2(10) primary key, age number(3) ); insert into Stu(sdept,age) select sdept,avg(sage) from Student group by sdept; select * from Stu;
select JNO from S,P,SPJ where CITY='天津'and COLOR='红'and S.SNO=SPJ.SNO and P.PNO=SPJ.PNO);
(5) 求至少用了供应商 S1 所供应的全部零件的工程号; 代码: select distinct JNO from SPJ where PNO in( select PNO from SPJ where SNO='S1' );
(11) 找出使用上海产的零件的工程名称; 代码: select distinct JNAME from J,SPJ,S where S.CITY='上海' and J.JNO=SPJ.JNO and S.SNO=SPJ.SNO;
(12) 找出没有使用天津产的零件的工程号码; 代码: select distinct SPJ.JNO from S,SPJ where SPJ.JNO not in(
S (SNO,SNAME,STATUS,CITY) S 表示供应商表,SNO 为供应商代号,SNAME 为供应商名字,STATUS 为供应商状态,
CITY 为供应商所在城市,主关键字为 SNO。 P(PNO,PNAME,COLOR,WEIGHT)
P 表示零件表,PNO 为零件代号,PNAME 为零件名称,COLOR 为零件颜色,WEIGHT 为 零件重量,主关键字为 PNO。 J (JNO,JNAME, CITY)
J 表示工程表,JNO 为工程编号,JNAME 为工程名字,CITY 为工程所在城市,主关 键 字为 JN。 SPJ (SNO,PNO,JNO,QTY)
SPJ 表示供应关系表,SNO 是为指定工程提供零件的供应商代号,PNO 为所提供的 零 件代号,JNO 为工程编号,QTY 表示提供的零件数量,主关键字为 SNO,PNO,JNO, 外 关键字为 SNO,PNO,JNO。
(14) 统计各工程项目所用不同零件的数量 代码: select JNO,sum(qty)
from SPJ GROUP BY JNO;
(15) 统计各供应商供应的各种零件数量 代码:
select SNO,sum(qty) from SPJ group by SNO;
4、用 Insert、Delete 和 Update 语句实现如下数据更新
create table SPJ( SNO char(2), PNO char(2), JNO char(2), QTY int, primary key(SNO,PNO,JNO) );
insert 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','J1','100'); insert into SPJ values('S2','P3','J1','400'); insert into SPJ values('S2','P2','J4','200'); insert into SPJ values('S2','P3','J4','500'); insert into SPJ values('S2','P3','J5','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','P2','J1','100'); insert into SPJ values('S4','P2','J3','300'); insert into SPJ values('S4','P6','J4','200');
代码: create table S( SNO char(3) primary key, SNAME char(10), STATUS char(10), CITY char(10) ); insert 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','上海');
create table P( PNO char(3) primary key, PNAME char(10), COLOR char(10), WEIGHT int );
insert into P values('P1','螺母','红','12'); insert into P values('P2','螺楦','绿','17'); insert into P values('P3','螺丝刀','蓝','14'); insert into P values('P4','螺丝刀','红','14'); insert into P values('P5','凸轮','蓝','40'); insert into P values('P6','齿轮','红','30');
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');
(6) 找出所有供应商的姓名和所在城市; 代码: select SNAME,CITY from S;
(7) 找出所有零件的名称、颜色、重量; 代码: select PNAME,COLOR,WEIGHT from P;
(8) 找出使用供应商 S1 所供应零件的工程号; 代码: select distinc来自百度文库 JNO from SPJ where SNO='S1';
2 数据操作语言 DML 实验 一、实验目的: 1、建立基本表并进行 DML 操作。 2、数据查询:单表查询、连接查询、嵌套查询、集合查询和统计等功能。 3、数据更新:增加、删除、查询和修改功能
二、实验内容与步骤: 1、进入 ORACLE 的环境,进入 scott 用户模式(在 sqldeveloper 中使用 scott 用户连 接 Oracle)。 2、用 Create、Insert 语句建立基本表 S、P、J 和 SPJ ,其中:
(6) 请将 S6 向工程项目 J8 供应 500 个 P7 零件的信息加入到供应关系; 意涉及到几个表的添加元组操作?表的添加顺序如何?)
insert into S(SNO) values('S6'); insert into J(JNO) values('J8'); insert into P(PNO) values('P7'); insert into SPJ values('S6','P7','J8','500');
3、 用 Select 语句对上述四个基本表进行如下查询 (1) 求供应工程 J1 零件的供应商号码 SNO; 代码: select distinct SNO from SPJ where SPJ.JNO='J1';
(2) 求供应工程 J1 零件 P1 的供应商号码 SNO 代码: select distinct SNO from SPJ where JNO='J1'and PNO='P1';
(1) 将全部红色零件的颜色改成蓝色; 代码: update P set COLOR='蓝' where COLOR='红';
(2) 将工程 J3 的城市改为上海; 代码: update J set CITY='上海' where JNO='J3';
(3) 由 S5 供给 J4 的零件 P6 改为由 S3 供应; 代码: update SPJ set SNO='S3' where SNO='S5' and JNO='J4' and PNO='P6';
(注意
元组删除顺序) 代码: delete from SPJ where SNO='S2'; delete from S where SNO='S2';
(5)请将 S2 向工程项目 J6 供应 200 个 P4 零件的信息加入到供应关系;
select JNO from S,SPJ where S.CITY='天津' and S.SNO=SPJ.SNO );
(13) 列出包含 SNO,SNAME,PNO,PNAME,JNO,JNAME,QTY 属性的清单。 代码: select S.SNO,S.SNAME,P.PNO,PNAME,J.JNO,JNAME,QTY from SPJ,S,J,P where SPJ.SNO=S.SNO and SPJ.JNO=J.JNO and SPJ.PNO=P.PNO;
(3) 求供应工程 J1 零件为红色的供应商号码 SNO; 代码: select distinct SNO from P,SPJ
where JNO='J1' and COLOR='红' and P.PNO=SPJ.PNO;
(4) 求没有使用天津供应商生产的红色零件的工程号 JNO; 代码: select distinct JNO from SPJ where JNO not in(
create table J( JNO char(3) primary key, JNAME char(15), CITY char(10) ); 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','半导体厂','南京');
(9) 找出工程项目 J1 使用的各种零件的名称及其数量; 代码: select distinct PNAME,QTY from P,SPJ where JNO='J1' and SPJ.PNO=P.PNO;
(10) 找出上海厂商供应的所有零件号码; 代码: select PNO from SPJ,S where S.CITY='上海' and SPJ.SNO=S.SNO;
(注
(注:以下操作利用学生关系模式 Student、Course 和 SC 三个基本表进行) 5、用 Insert、Delete 和 Update 语句实现如下数据更新 (1) 对每一个系,求学生的平均年龄,并把结果存入数据库。 提示:首先在数据库中建
立一个新表,用其中一列存放系名称,另一列存 放该系学生的平均年龄。然后对 Student 表按系分组求平均年龄,并将系 名和平均年龄存入新表中。 代码: create table Stu( sdept varchar2(10) primary key, age number(3) ); insert into Stu(sdept,age) select sdept,avg(sage) from Student group by sdept; select * from Stu;
select JNO from S,P,SPJ where CITY='天津'and COLOR='红'and S.SNO=SPJ.SNO and P.PNO=SPJ.PNO);
(5) 求至少用了供应商 S1 所供应的全部零件的工程号; 代码: select distinct JNO from SPJ where PNO in( select PNO from SPJ where SNO='S1' );
(11) 找出使用上海产的零件的工程名称; 代码: select distinct JNAME from J,SPJ,S where S.CITY='上海' and J.JNO=SPJ.JNO and S.SNO=SPJ.SNO;
(12) 找出没有使用天津产的零件的工程号码; 代码: select distinct SPJ.JNO from S,SPJ where SPJ.JNO not in(
S (SNO,SNAME,STATUS,CITY) S 表示供应商表,SNO 为供应商代号,SNAME 为供应商名字,STATUS 为供应商状态,
CITY 为供应商所在城市,主关键字为 SNO。 P(PNO,PNAME,COLOR,WEIGHT)
P 表示零件表,PNO 为零件代号,PNAME 为零件名称,COLOR 为零件颜色,WEIGHT 为 零件重量,主关键字为 PNO。 J (JNO,JNAME, CITY)
J 表示工程表,JNO 为工程编号,JNAME 为工程名字,CITY 为工程所在城市,主关 键 字为 JN。 SPJ (SNO,PNO,JNO,QTY)
SPJ 表示供应关系表,SNO 是为指定工程提供零件的供应商代号,PNO 为所提供的 零 件代号,JNO 为工程编号,QTY 表示提供的零件数量,主关键字为 SNO,PNO,JNO, 外 关键字为 SNO,PNO,JNO。
(14) 统计各工程项目所用不同零件的数量 代码: select JNO,sum(qty)
from SPJ GROUP BY JNO;
(15) 统计各供应商供应的各种零件数量 代码:
select SNO,sum(qty) from SPJ group by SNO;
4、用 Insert、Delete 和 Update 语句实现如下数据更新
create table SPJ( SNO char(2), PNO char(2), JNO char(2), QTY int, primary key(SNO,PNO,JNO) );
insert 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','J1','100'); insert into SPJ values('S2','P3','J1','400'); insert into SPJ values('S2','P2','J4','200'); insert into SPJ values('S2','P3','J4','500'); insert into SPJ values('S2','P3','J5','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','P2','J1','100'); insert into SPJ values('S4','P2','J3','300'); insert into SPJ values('S4','P6','J4','200');
代码: create table S( SNO char(3) primary key, SNAME char(10), STATUS char(10), CITY char(10) ); insert 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','上海');
create table P( PNO char(3) primary key, PNAME char(10), COLOR char(10), WEIGHT int );
insert into P values('P1','螺母','红','12'); insert into P values('P2','螺楦','绿','17'); insert into P values('P3','螺丝刀','蓝','14'); insert into P values('P4','螺丝刀','红','14'); insert into P values('P5','凸轮','蓝','40'); insert into P values('P6','齿轮','红','30');
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');
(6) 找出所有供应商的姓名和所在城市; 代码: select SNAME,CITY from S;
(7) 找出所有零件的名称、颜色、重量; 代码: select PNAME,COLOR,WEIGHT from P;
(8) 找出使用供应商 S1 所供应零件的工程号; 代码: select distinc来自百度文库 JNO from SPJ where SNO='S1';
2 数据操作语言 DML 实验 一、实验目的: 1、建立基本表并进行 DML 操作。 2、数据查询:单表查询、连接查询、嵌套查询、集合查询和统计等功能。 3、数据更新:增加、删除、查询和修改功能
二、实验内容与步骤: 1、进入 ORACLE 的环境,进入 scott 用户模式(在 sqldeveloper 中使用 scott 用户连 接 Oracle)。 2、用 Create、Insert 语句建立基本表 S、P、J 和 SPJ ,其中:
(6) 请将 S6 向工程项目 J8 供应 500 个 P7 零件的信息加入到供应关系; 意涉及到几个表的添加元组操作?表的添加顺序如何?)
insert into S(SNO) values('S6'); insert into J(JNO) values('J8'); insert into P(PNO) values('P7'); insert into SPJ values('S6','P7','J8','500');
3、 用 Select 语句对上述四个基本表进行如下查询 (1) 求供应工程 J1 零件的供应商号码 SNO; 代码: select distinct SNO from SPJ where SPJ.JNO='J1';
(2) 求供应工程 J1 零件 P1 的供应商号码 SNO 代码: select distinct SNO from SPJ where JNO='J1'and PNO='P1';
(1) 将全部红色零件的颜色改成蓝色; 代码: update P set COLOR='蓝' where COLOR='红';
(2) 将工程 J3 的城市改为上海; 代码: update J set CITY='上海' where JNO='J3';
(3) 由 S5 供给 J4 的零件 P6 改为由 S3 供应; 代码: update SPJ set SNO='S3' where SNO='S5' and JNO='J4' and PNO='P6';