中国石油大学(华东)数据库原理实验答案(sql语句)(2)

2019-04-22 08:17

实验四

CREATE INDEX yDATE ON COST(预算日期);

CREATE INDEX jDATE ON COST(结算日期);

CREATE INDEX rDATE ON COST(入账日期);

SELECT DISTINCT * FROM COST,UNITNO

WHERE 单位名称='采油一矿二队'AND 预算单位=单位代码 AND 入账日期>='2016-5-1'AND 入账日期<='2016-5-28' AND 预算金额 IS NOT NULL AND 预算日期 IS NOT NULL AND 预算人 IS NOT NULL;

SELECT DISTINCT * FROM COST,UNITNO

WHERE 单位名称='采油一矿二队'AND 预算单位=单位代码 AND 入账日期>='2016-5-1'AND 入账日期<='2016-5-28' AND 结算金额 IS NOT NULL AND 结算人 IS NOT NULL AND 结算日期 IS NOT NULL;

SELECT DISTINCT MATERIALPRICE.单据号,物码,消耗数量,单价 FROM COST,MATERIALPRICE,UNITNO

WHERE 单位名称='采油一矿二队'AND 预算单位=单位代码 AND 入账日期>='2016-5-1'AND 入账日期<='2016-5-28'AND MATERIALPRICE.单据号=COST.单据号;

SELECT DISTINCT * FROM COST,UNITNO

WHERE 单位名称='采油一矿二队'AND 预算单位=单位代码 AND 入账日期>='2016-5-1'AND 入账日期<='2016-5-28' AND 入账金额 IS NOT NULL AND 入账人 IS NOT NULL AND 入账

日期 IS NOT NULL;

SELECT 预算总额=SUM(DISTINCT 预算金额) FROM UNITNO,COST

WHERE 单位名称='采油一矿二队'AND 预算单位=单位代码 AND 入账日期>='2016-5-1'AND 入账日期<='2016-5-28';

SELECT 结算总额=SUM(DISTINCT 结算金额) FROM UNITNO,COST

WHERE 单位名称='采油一矿二队'AND 预算单位=单位代码 AND 入账日期>='2016-5-1'AND 入账日期<='2016-5-28';

SELECT 入账总额=SUM(DISTINCT 入账金额) FROM UNITNO,COST

WHERE 单位名称='采油一矿二队'AND 预算单位=单位代码 AND 入账日期>='2016-5-1'AND 入账日期<='2016-5-28';

SELECT 一矿入账总额=SUM(DISTINCT 入账金额) FROM UNITNO,COST

WHERE 单位名称 LIKE '采油一矿%'AND 预算单位=单位代码 AND 入账日期>='2016-5-1'AND 入账日期<='2016-5-28';

SELECT DISTINCT 入账人 FROM COST

WHERE 入账人 IS NOT NULL;

SELECT DISTINCT 单据号 FROM COST

WHERE 结算日期>='2016-5-1' AND 结算日期<='2016-5-28' AND 入账金额 IS NULL AND 结算金额 IS NOT NULL ;

SELECT DISTINCT 单据号,入账金额 FROM COST,UNITNO

WHERE 单位名称='采油一矿二队'AND 预算单位=单位代码 ORDER BY 入账金额 DESC;

SELECT 单位名称,结算金额总和=SUM(DISTINCT 结算金额),项目数=COUNT(DISTINCT 结算金额)

FROM COST,UNITNO

WHERE 预算单位=单位代码

GROUP BY 单位名称;

SELECT distinct 单据号,物码,消耗数量,单价 FROM MATERIALPRICE WHERE 物码 IN( SELECT 物码 FROM GOODSNO

WHERE 名称规格='材料三') AND 单价*消耗数量>=2000;

SELECT DISTINCT 单据号 FROM COST

WHERE 施工单位 ='作业公司作业二队';

SELECT 单据号,施工单位 FROM COST

WHERE 施工单位 ='作业公司作业二队' UNION

SELECT 单据号,施工单位 FROM COST

WHERE 施工单位 ='作业公司作业一队';

SELECT DISTINCT 施工单位 FROM COST,OILWELL,UNITNO

WHERE 预算单位=UNITNO.单位代码 AND UNITNO.单位代码=OILWELL.单位代码 AND 单位名称 LIKE '采油一矿%';

CREATE TABLE 数据表(施工单位 VARCHAR(30), 年月 VARCHAR(20), 结算金额 FLOAT );

INSERT INTO 数据表(施工单位,年月,结算金额)

(SELECT 施工单位,YEAR(结算日期)*100+MONTH(结算日期),SUM(结算金额) FROM COST

GROUP BY 施工单位,YEAR(结算日期)*100+MONTH(结算日期));

UPDATE COST

SET 结算人='李兵' WHERE 预算单位 IN( SELECT 单位代码

FROM UNITNO

WHERE 单位代码=预算单位 AND 单位名称 Like '采油一矿%' );

DELETE FROM COST

WHERE 预算单位 IN (SELECT 单位代码 FROM UNITNO

WHERE 单位代码=预算单位 AND 单位名称 Like '采油一矿%');

BEGIN TRAN

UPDATE COST

SET 结算人='李兵' WHERE 预算单位 IN( SELECT 单位代码 FROM UNITNO

WHERE 单位代码=预算单位 AND 单位名称 Like '采油一矿%' );

DELETE FROM COST

WHERE 预算单位 IN( SELECT 单位代码 FROM UNITNO

WHERE 单位代码=预算单位 AND 单位名称 Like '采油一矿%');

ROLLBACK TRAN

DROP INDEX yDATE ON COST; DROP INDEX jDATE ON COST; DROP INDEX rDATE ON COST;

实验五

ALTER TABLE 数据表 ADD 备注 CHAR;

SELECT *

FROM 数据表;

ALTER TABLE 数据表

ALTER COLUMN 施工单位 VARCHAR(30) NOT NULL; ALTER TABLE 数据表 ADD PRIMARY KEY(施工单位);

DELETE

FROM 数据表;

DROP TABLE 数据表 ;

ALTER TABLE UNITNO

ALTER COLUMN 单位代码 VARCHAR(20) NOT NULL; ALTER TABLE UNITNO

ADD CONSTRAINT UNI_NUM PRIMARY KEY(单位代码);

ALTER TABLE OILWELL

ALTER COLUMN 井号 VARCHAR(20) NOT NULL; ALTER TABLE OILWELL

ADD CONSTRAINT WELL_NUM PRIMARY KEY(井号);

ALTER TABLE GOODSNO

ALTER COLUMN 物码 VARCHAR(20) NOT NULL; ALTER TABLE GOODSNO

ADD CONSTRAINT GOOD_NUM PRIMARY KEY(物码);

ALTER TABLE COST

ALTER COLUMN 单据号 VARCHAR(20) NOT NULL; ALTER TABLE COST

ADD CONSTRAINT COST_NUM PRIMARY KEY( 单据号);

ALTER TABLE MATERIALPRICE

ALTER COLUMN 单据号 VARCHAR(20) NOT NULL; ALTER TABLE MATERIALPRICE

ALTER COLUMN 物码 VARCHAR(20) NOT NULL;

ALTER TABLE MATERIALPRICE ADD PRIMARY KEY(单据号,物码);

ALTER TABLE CONSTRUCTIONUNIT

ALTER COLUMN 施工单位名称 VARCHAR(30) NOT NULL; ALTER TABLE CONSTRUCTIONUNIT

ADD CONSTRAINT UNI_NAME PRIMARY KEY(施工单位名称);


中国石油大学(华东)数据库原理实验答案(sql语句)(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:第一部分__微观经济学习题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: