数据库实验三

CREATE TABLE 单位代码表
(单位代码 CHAR(20),
单位名称 CHAR (20) );

CREATE TABLE 油水井表
(井号 CHAR(20),
井别 CHAR(20),
单位代码 CHAR(20) );

CREATE TABLE 施工单位表
(施工单位名称 CHAR(20) );

CREATE TABLE 物码表
(物码 CHAR(20),
名称规格 CHAR(20),
计量单位 CHAR(20) );

create table 材料费表(
单据号 CHAR(20),
物码 CHAR(20),
消耗数量 INT,
单价 MONEY,
);

CREATE TABLE 作业项目表
(单据号 CHAR(20),
预算单位 CHAR(20),
井号 CHAR(20),
预算金额 MONEY,
预算人 CHAR(20),
预算日期 DATETIME,

开工日期 DATETIME,
完工日期 DATETIME,
施工单位 CHAR(20),
施工内容 CHAR(20),
材料费 money,
人工费 MONEY,
设备费 MONEY,
其他费用 money,
结算金额 MONEY,
结算人 CHAR(20),
结算日期 DATETIME,

入账金额 MONEY,
入账人 CHAR(10),
入账日期 DATETIME)
insert into 单位代码表
values ('1122','采油厂');

insert into 单位代码表
values ('112201','采油一矿');

insert into 单位代码表
values ('112202','采油二矿');

insert into 单位代码表
values ('112201001','采油一矿一队');

insert into 单位代码表
values ('112201002','采油一矿二队');
insert into 单位代码表
values ('112201003','采油一矿三队');

insert into 单位代码表
values ('112202001','采油二矿一队');


insert into 油水井表
values ('y001',   '油井' , '112201001');

insert into 油水井表
values ('y002',   '油井' , '112201001');

insert into 油水井表
values ('y003',   '油井' , '112201002');

insert into 油水井表
values ('s001',   '水井' , '112201002');

insert into 油水井表
values ('y004',   '油井' , '112201003');

insert into 油水井表
values ('s002',   '水井' , '112202001');

insert into 油水井表
values ('s003',   '水井' , '112202001');

insert into 油水井表
values ('y005',   '油井' , '112202002');

insert into 施工单位表
values ('作业公司作业一队');

insert into 施工单位表
values ('作业公司作业二队');

insert into 施工单位表
values ('作业公司作业三队');

insert into 物码表
values ('wm001','材料一','吨');

insert into 物码表
values ('wm002','材料二','米');

insert into 物码表
values ('wm003','材料三','桶');

insert into 物码表
values ('wm004','材料四','袋');

insert into 材料费表(单据号,物码,消耗数量,单价)
values ('zy2016001','wm001',200,¥10);

insert into 材料费表(单据号,物码,消耗数量,单价)
values ('zy2016001','wm002',200,¥10);

insert into 材料费表(单据号,物码,消耗数量,单价)
values ('zy2016001','wm003',200,¥10);

insert into 材料费表(单据号,物码,消耗数量,单价)
values ('zy2016003','wm001',200,¥10);

insert into 材料费表(单据号,物码,消耗数量,单价)
values ('zy2016003','wm002',200,¥10);

insert into 材料费表(单据号,物码,消耗数量,单价)
values ('zy2016003','wm003',250,¥10);

insert into 材料费表(单据号,物码,消耗数量,单价)
values ('zy2016004','wm001',200,¥10);

insert into 材料费表(单据号,物码,消耗数量,单价)
values ('zy2016004','wm002',200,¥10);

insert into 材料费表(单据号,物码,消耗数量,单价)
values ('zy2016004','wm004',200,¥10);

insert into 材料费表(单据号,物码,消耗数量,单价)
values ('zy2016005','wm001',200,¥10);

insert into 材料费表(单据号,物码,消耗数量,单价)
values ('zy2016005','wm002',200,¥10);

insert into 材料费表(单据号,物码,消耗数量,单价)
values ('zy2016005','wm004',300,¥10);
 
insert into 作业项目表
values('zy2016001','112201001','y001',¥10000,'张三','2016/5/1',
'2016/5/4','2016/5/23','作业公司作业一队','堵漏',¥7000,¥2500,¥1000,¥1400,¥10900,'王五','2016/5/26',
¥10900,'王五','2016/5/28');
 

insert into 作业项目表
values ('zy2016003','112201002','s001',¥10500,'张三','2016/5/1',
'2016/5/6','2016/5/23','作业公司作业二队','调剖',¥6500,¥2000,¥500,¥1400,¥10400,'李四','2016/5/26',
¥10400,'王五','2016/5/28'
);
 

insert into 作业项目表
values ('zy2016004','112202001','s002',¥12000,'张三','2016/5/1',
'2016/5/4','2016/5/24','作业公司作业三队','解堵',¥6000,¥2000,¥1000,¥1600,¥10600,'李四','2016/5/26',¥10600,'赵六','2016/5/28');
 
insert into 作业项目表
values('zy2016005','112202002','y005',¥12000,'张三','2016/5/1',
'2016/5/4','2016/5/28','作业公司作业三队','防砂',¥7000,¥1000,¥2000,¥1300,¥11300,'李四','2016/6/1',
NULL,NULL,NULL);

begin tran
update 作业项目表
set 人工费 = 人工费+200 
where 单据号 = 'zy2016005';

update 作业项目表
set  结算金额 = 结算金额 +200
where 单据号 = 'zy2016005';

delete
from 作业项目表
where 入账金额 is NULL;

rollback tran

 

SQL查询二 2 通过本实验使学生掌握多表查询、子查询以及基本数据操作 二、实验内容 使用实验一建立的银行贷款数据库和表,完成以下查询。 1-4是多表查询和子查询,5-11是数据操作 查询经济性质为“国营”的法人在上海的银行贷款的信息,列出法人代码、银行代码和贷款日期,分别用多表连接和子查询两种方式实现。 查询在“建设银行上海分行”贷过款的法人名称,分别用多表连接和子查询两种方式实现。 查询在“工商银行北京A支行”贷款金额前名(包括并列的情况)的法人的法人代码、法人名称和经济性质,分别用多表连接和子查询两种方式实现。 查询在“工商银行北京B支行”贷款、且贷款金额高于此银行的平均贷款金额的法人代码、贷款日期和贷款金额。 在银行表中插入如下数据:银行代码号为:B321B,银行名称为:建设银行上海B分行,电话为空值。 在法人表中插入如下数据:法人代码号为:E11,法人名称为:新法人,注册资金为:2350万元,经济性质使用默认值。 删除银行编号为“B321B”的银行信息。 删除2000年之前一次贷款金额最小的贷款记录。 删除从贷款日期到当前日期天数超过10年的贷款记录。 删除法人名称为“爱贝乐玩具有限公司”且贷款金额小于10万元的贷款记录,分别用子查询和多表连接两种方式实现。 将经济性质为“私营”的法人在“工商银行上海支行”贷款的所有贷款金额加5万元,分别用子查询和多表连接两种方式实现。 使用实验一建立的学生数据库和表,完成以下查询 12-15是多表查询和子查询,16-20是数据操作 查询计算机系年龄大于总平均年龄的学生的姓名和年龄。 查询计算机系年龄大于计算机系平均年龄的学生的姓名和年龄。 查询计算机系考试成绩小于总平均分的学生的学号、姓名。 将考试成绩最低的并且不及格学生的最低修课成绩改为60。 将数据库基础考试成绩最低的且成绩为不及格学生的数据库考试成绩改为60。 删除计算机系“计算机网络”课程的全部选课记录。 删除vb考试成绩最低的两个学生的vb考试记录。 对数据库考试成绩进行如下修改:如果成绩低于60分,则提高10%;如果成绩在60到80之间,则增加6%;如果成绩在80到95之间则提高4%,其他情况不提高。 对学分进行如下修改:如果是第1到第3学期开始的课程,则学分增加1分;如果是第4到第6学期开设的课程,学分增加2分,其他学期开始的课程学分增加3分。 以下查询必须用子查询完成: 查询男生年龄最大的学生的姓名和所在系。 查询选修了‘数据库基础’的学生的姓名、所在系。s 选修了第6学期开始的课程的学生的学号、姓名和所在系。 查询男生所修的课程的课程名。 查询年龄最小的学生所选的课程名。 、实验报告 将实验结果反映在实验报告中,并对实验中遇到的问题及解决方案、进行整理、分析总结,提出实验结论或自己的看法。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值