2023年石油大学华东数据库原理实验超详细解析超详细解析超详细解析答案sql语句.pdf
《2023年石油大学华东数据库原理实验超详细解析超详细解析超详细解析答案sql语句.pdf》由会员分享,可在线阅读,更多相关《2023年石油大学华东数据库原理实验超详细解析超详细解析超详细解析答案sql语句.pdf(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、实验三/*CREATE TABLE UNITNO(单位代码 VARCHAR(20),单位名称 VARCHAR(30);CREATE TABLE OILWELL(井号 VARCHAR(20),井别 VARCHAR(20),单位代码 VARCHAR(20),);CREATE TABLE CONSTRUCTIONUNIT(施工单位名称 VARCHAR(30);CREATE TABLE GOODSNO(物码 VARCHAR(20),名称规格 VARCHAR(30),计量单位 VARCHAR(20);CREATE TABLE COST(单据号 VARCHAR(20),预算单位 VARCHAR(20),井
2、号 VARCHAR(20),预算金额 FLOAT,预算人 VARCHAR(20),预算日期 DATE,开工日期 DATE,完工日期 DATE,施工单位 VARCHAR(30),施工内容 VARCHAR(50),材料费 FLOAT,人工费 FLOAT,设备费 FLOAT,其他费用 FLOAT,结算金额 FLOAT,结算人 VARCHAR(20),结算日期 DATE,入账金额 FLOAT,入账人 VARCHAR(20),入账日期 DATE );CREATE TABLE MATERIALPRICE(单据号 VARCHAR(20),物码 VARCHAR(20),消耗数量 BIGINT,单价 FLOAT
3、 );*/*INSERT INTO UNITNO(单位代码,单位名称)VALUES(1122,采油厂);INSERT INTO UNITNO(单位代码,单位名称)VALUES(112201,采油一矿);INSERT INTO UNITNO(单位代码,单位名称)VALUES(112202,采油二矿);INSERT INTO UNITNO(单位代码,单位名称)VALUES(112201001,采油一矿一队);INSERT INTO UNITNO(单位代码,单位名称)VALUES(112201002,采油一矿二队);INSERT INTO UNITNO(单位代码,单位名称)VALUES(112201
4、003,采油一矿三队);INSERT INTO UNITNO(单位代码,单位名称)VALUES(112202001,采油二矿一队);INSERT INTO UNITNO(单位代码,单位名称)VALUES(112202002,采油二矿二队);INSERT INTO OILWELL(井号,井别,单位代码)VALUES(y001,油井,112201001);INSERT INTO OILWELL(井号,井别,单位代码)VALUES(y002,油井,112201001);INSERT INTO OILWELL(井号,井别,单位代码)VALUES(y003,油井,112201002);INSERT IN
5、TO OILWELL(井号,井别,单位代码)VALUES(s001,水井,112201002);INSERT INTO OILWELL(井号,井别,单位代码)VALUES(y004,油井,112201003);INSERT INTO OILWELL(井号,井别,单位代码)VALUES(s002,水井,112201001);INSERT INTO OILWELL(井号,井别,单位代码)VALUES(s003,水井,112201001);INSERT INTO OILWELL(井号,井别,单位代码)VALUES(y005,油井,112201002);INSERT INTO CONSTRUCTION
6、UNIT(施工单位名称)VALUES(作业公司作业一队);INSERT INTO CONSTRUCTIONUNIT(施工单位名称)VALUES(作业公司作业二队);INSERT INTO CONSTRUCTIONUNIT(施工单位名称)VALUES(作业公司作业三队);INSERT INTO GOODSNO(物码,名称规格,计量单位)VALUES(wm001,材料一,吨);INSERT INTO GOODSNO(物码,名称规格,计量单位)VALUES(wm002,材料二,米);INSERT INTO GOODSNO(物码,名称规格,计量单位)VALUES(wm003,材料三,桶);INSERT
7、 INTO GOODSNO(物码,名称规格,计量单位)VALUES(wm004,材料四,袋);INSERT INTO COST(单据号,预算单位,井号,预算金额,预算人,预算日期,开工日期,完工日期,施工单位,施工内容,材料费,人工费,设备费,其他费用,结算金额,结算人,结算日期,入账金额,入账人,入账日期)VALUES(ZY2016001,112201001,y001,10000.00,张三,2016-5-1,2016-5-4,2016-5-25,作业公司作业一队,堵漏,7000.00,2500.00,1000.00,1400.00,11900.00,李四,2016-5-26,11900.0
8、0,王五,2016-5-28);INSERT INTO COST(单据号,预算单位,井号,预算金额,预算人,预算日期,开工日期,完工日期,施工单位,施工内容,材料费,人工费,设备费,其他费用,结算金额,结算人,结算日期,入账金额,入账人,入账日期)VALUES(ZY2016002,112201002,y003,11000.00,张三,2016-5-1,2016-5-4,2016-5-23,作业公司作业二队,入账人入账日期单据号物码消耗数量单价单位代码单位名称采油厂单位代码单位名称采油一矿单位代码单位名称采油位名称采油二矿一队单位代码单位名称采油二矿二队井号井别单位代码油井井号井别单位代码油井井
9、号井别单位代码码油井施工单位名称作业公司作业一队施工单位名称作业公司作业二队施工单位名称作业公司作业三队物码名称规格 检泵,6000.00,1500.00,1000.00,2400.00,10900.00,李四,2016-5-26,10900.00,王五,2016-5-28);INSERT INTO COST(单据号,预算单位,井号,预算金额,预算人,预算日期,开工日期,完工日期,施工单位,施工内容,材料费,人工费,设备费,其他费用,结算金额,结算人,结算日期,入账金额,入账人,入账日期)VALUES(ZY2016003,112201002,s001,10500.00,张三,2016-5-1,
10、2016-5-6,2016-5-23,作业公司作业二队,调剖,6500.00,2000.00,500.00,1400.00,10400.00,李四,2016-5-26,10400.00,王五,2016-5-28);INSERT INTO COST(单据号,预算单位,井号,预算金额,预算人,预算日期,开工日期,完工日期,施工单位,施工内容,材料费,人工费,设备费,其他费用,结算金额,结算人,结算日期,入账金额,入账人,入账日期)VALUES(ZY2016004,112202001,s002,12000.00,张三,2016-5-1,2016-5-4,2016-5-24,作业公司作业三队,解堵,6
11、000.00,2000.00,1000.00,1600.00,10600.00,李四,2016-5-26,10600.00,赵六,2016-5-28);INSERT INTO COST(单据号,预算单位,井号,预算金额,预算人,预算日期,开工日期,完工日期,施工单位,施工内容,材料费,人工费,设备费,其他费用,结算金额,结算人,结算日期)VALUES(ZY2016005,112202002,y005,12000.00,张三,2016-5-1,2016-5-4,2016-5-28,作业公司作业三队,防砂,7000.00,1000.00,2000.00,1300.00,11300.00,李四,20
12、16-6-1);INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单价)VALUES(ZY2016001,wm001,200,10.00);INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单价)VALUES(ZY2016001,wm002,200,10.00);INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单价)VALUES(ZY2016001,wm003,200,10.00);INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单价)VALUES(ZY2016001,wm004,100
13、,10.00);INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单价)VALUES(ZY2016002,wm001,200,10.00);INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单价)VALUES(ZY2016002,wm002,200,10.00);INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单价)VALUES(ZY2016002,wm003,200,10.00);INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单入账人入账日期单据号物码消耗数量单价单位代码单位名称采油
14、厂单位代码单位名称采油一矿单位代码单位名称采油位名称采油二矿一队单位代码单位名称采油二矿二队井号井别单位代码油井井号井别单位代码油井井号井别单位代码码油井施工单位名称作业公司作业一队施工单位名称作业公司作业二队施工单位名称作业公司作业三队物码名称规格价)VALUES(ZY2016003,wm001,200,10.00);INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单价)VALUES(ZY2016003,wm002,200,10.00);INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单价)VALUES(ZY2016003,wm003,
15、250,10.00);INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单价)VALUES(ZY2016004,wm001,200,10.00);INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单价)VALUES(ZY2016004,wm002,200,10.00);INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单价)VALUES(ZY2016004,wm004,200,10.00);INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单价)VALUES(ZY2016005,wm001,
16、200,10.00);INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单价)VALUES(ZY2016005,wm002,200,10.00);INSERT INTO MATERIALPRICE(单据号,物码,消耗数量,单价)VALUES(ZY2016005,wm004,300,10.00);UPDATE COST SET 人工费=人工费+200.00,结算金额=结算金额+200.00 WHERE 单据号=zy2016005;DELETE FROM COST WHERE 入账金额 IS NULL OR 入账人 IS NULL OR 入账日期 IS NULL;BEGI
17、N TRAN UPDATE COST SET 人工费=人工费+200.00,结算金额=结算金额+200.00 WHERE 单据号=zy2016005;DELETE FROM COST WHERE 入账金额 IS NULL OR 入账人 IS NULL OR 入账日期 IS NULL;入账人入账日期单据号物码消耗数量单价单位代码单位名称采油厂单位代码单位名称采油一矿单位代码单位名称采油位名称采油二矿一队单位代码单位名称采油二矿二队井号井别单位代码油井井号井别单位代码油井井号井别单位代码码油井施工单位名称作业公司作业一队施工单位名称作业公司作业二队施工单位名称作业公司作业三队物码名称规格ROLLB
18、ACK TRAN 入账人入账日期单据号物码消耗数量单价单位代码单位名称采油厂单位代码单位名称采油一矿单位代码单位名称采油位名称采油二矿一队单位代码单位名称采油二矿二队井号井别单位代码油井井号井别单位代码油井井号井别单位代码码油井施工单位名称作业公司作业一队施工单位名称作业公司作业二队施工单位名称作业公司作业三队物码名称规格 实验四 CREATE INDEX yDATE ON COST(预算日期);CREATE INDEX jDATE ON COST(结算日期);CREATE INDEX rDATE ON COST(入账日期);SELECT DISTINCT*FROM COST,UNITNO W
19、HERE 单位名称=采油一矿二队AND 预算单位=单位代码 AND 入账日期=2016-5-1AND 入账日期=2016-5-1AND 入账日期=2016-5-1AND 入账日期=2016-5-1AND 入账日期=2016-5-1AND 入账日期=2016-5-1AND 入账日期=2016-5-1AND 入账日期=2016-5-1AND 入账日期=2016-5-1 AND 结算日期=2000;SELECT DISTINCT 单据号 FROM COST WHERE 施工单位=作业公司作业二队;SELECT 单据号,施工单位 FROM COST WHERE 施工单位=作业公司作业二队 UNION
20、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(结
21、算金额)FROM COST GROUP BY 施工单位,YEAR(结算日期)*100+MONTH(结算日期);UPDATE COST SET 结算人=李兵 WHERE 预算单位 IN(SELECT 单位代码 入账人入账日期单据号物码消耗数量单价单位代码单位名称采油厂单位代码单位名称采油一矿单位代码单位名称采油位名称采油二矿一队单位代码单位名称采油二矿二队井号井别单位代码油井井号井别单位代码油井井号井别单位代码码油井施工单位名称作业公司作业一队施工单位名称作业公司作业二队施工单位名称作业公司作业三队物码名称规格 FROM UNITNO WHERE 单位代码=预算单位 AND 单位名称 Like
22、采油一矿%);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 采油一矿%)
23、;ROLLBACK TRAN DROP INDEX yDATE ON COST;DROP INDEX jDATE ON COST;DROP INDEX rDATE ON COST;实验五 ALTER TABLE 数据表 ADD 备注 CHAR;SELECT*入账人入账日期单据号物码消耗数量单价单位代码单位名称采油厂单位代码单位名称采油一矿单位代码单位名称采油位名称采油二矿一队单位代码单位名称采油二矿二队井号井别单位代码油井井号井别单位代码油井井号井别单位代码码油井施工单位名称作业公司作业一队施工单位名称作业公司作业二队施工单位名称作业公司作业三队物码名称规格 FROM 数据表;ALTER TA
24、BLE 数据表 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
25、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 MATERIALPRIC
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2023 石油大学 华东 数据库 原理 实验 详细 解析 答案 sql 语句
限制150内