表结构:
create table tbEmp --职员表
(
eID number(7) primarykey, --职员编号
eName varchar(20) not null, --职员姓名
eSex varchar(2) not null --职员性别
check(esex in('男','女')),
eAge smallint not nullcheck(eage>=18), --职员年龄
eAddr varchar2(50) not null, --职员地址
eTel varchar2(30) not null, --职员电话
eEmail varchar2(30) --职员邮箱
)
创建序列
create sequence tbEmp_seq
minvalue 1
maxvalue 9999999
start with 1
increment by 1
cache 100;
基础数据
insert into tbemp (eid,ename,esex,eage,eaddr,etel)
values(tbEmp_seq.Nextval,'陈飞飞','男',22,'广东省广州市棠德小区6栋808号','020-3434123');
insert into tbemp(eid,ename,esex,eage,eaddr,etel)
values(tbEmp_seq.Nextval,'杜娟娟','女',23,'广东省广州市上社村1栋2号','020-34345233');
insert into tbemp (eid,ename,esex,eage,eaddr,etel)
values(tbEmp_seq.Nextval,'刘一刀','男',25,'广东省广州市城市广场606号','020-12344321');
insert into tbemp(eid,ename,esex,eage,eaddr,etel)
values(tbEmp_seq.Nextval,'张小杰','男',27,'广东省深圳4221工厂','0755-9876543');
insert into tbemp (eid,ename,esex,eage,eaddr,etel)
values(tbEmp_seq.Nextval,'阿房女','女',23,'河北小桥市青色路87号','0689-5656564');
select * from tbemp;
商品信息表
create table tbProd
(
pID number(7) primary key, --商品编号
pType varchar(20) notnull, --商品类型
pMark varchar(20) not null, --商品品牌
pSpec varchar(20) --商品规格
)
创建序列
create sequence tbProd_seq
minvalue 1
maxvalue 9999999
start with 1
increment by 1
cache 100;
基础数据
insert into tbprodvalues(tbProd_seq.Nextval,'电视机','创维','48英寸等离子电视机');
insert into tbprodvalues(tbProd_seq.Nextval,'电视机','创维','56英寸数字电视机');
insert into tbprodvalues(tbProd_seq.Nextval,'电视机','创维','32英寸背投');
insert into tbprodvalues(tbProd_seq.Nextval,'电视机','熊猫','48英寸等离子电视机');
insert into tbprodvalues(tbProd_seq.Nextval,'电视机','熊猫','56英寸数字电视机');
insert into tbprod values(tbProd_seq.Nextval,'电视机','TCL','32英寸背投');
insert into tbprodvalues(tbProd_seq.Nextval,'笔记本','宏基','奔腾双核 T6666');
insert into tbprodvalues(tbProd_seq.Nextval,'笔记本','宏基','酷睿2双核 E7500 ');
insert into tbprodvalues(tbProd_seq.Nextval,'笔记本','联想','奔腾双核 T6666');
insert into tbprodvalues(tbProd_seq.Nextval,'笔记本','联想','酷睿2双核 E7500 ');
销售情况表
create table tbSales
(
srNO number(7) primarykey, --记录编号
eID number(7) not nullreferences tbemp, --职员编号
pID number(7) not nullreferences tbprod, --商品编号
pQty number(7) not null check(pqty>0), --销售数量
pAmount number(7) notnull check(pamount>0), --销售价值
sDate date --销售时间
)
创建序列
create sequence tbSales_seq
minvalue 1
maxvalue 9999999
start with 1
increment by 1
cache 100;
基础数据
insert into tbsalesvalues(tbSales_seq.Nextval,1,1,10,21000,to_date('2010-3-12','yyyy-mm-dd'));
insert into tbsalesvalues(tbSales_seq.Nextval,1,2,5,20000,to_date('2010-3-12','yyyy-mm-dd'));
insert into tbsales values(tbSales_seq.Nextval,1,4,12,23500,to_date('2010-3-14','yyyy-mm-dd'));
insert into tbsalesvalues(tbSales_seq.Nextval,1,5,4,16500,to_date('2010-3-14','yyyy-mm-dd'));
insert into tbsalesvalues(tbSales_seq.Nextval,2,3,3,31000,to_date('2010-3-11','yyyy-mm-dd'));
insert into tbsalesvalues(tbSales_seq.Nextval,2,6,4,40000,to_date('2010-3-13','yyyy-mm-dd'));
insert into tbsalesvalues(tbSales_seq.Nextval,3,7,5,40000,to_date('2010-3-13','yyyy-mm-dd'));
insert into tbsalesvalues(tbSales_seq.Nextval,3,8,3,36000,to_date('2010-3-14','yyyy-mm-dd'));
insert into tbsalesvalues(tbSales_seq.Nextval,4,9,6,41500,to_date('2010-3-12','yyyy-mm-dd'));
insert into tbsalesvalues(tbSales_seq.Nextval,4,10,5,50000,to_date('2010-3-14','yyyy-mm-dd'));
insert into tbsalesvalues(tbSales_seq.Nextval,1,1,10,21000,to_date('2010-4-12','yyyy-mm-dd'));
insert into tbsalesvalues(tbSales_seq.Nextval,1,2,5,20000,to_date('2010-4-12','yyyy-mm-dd'));
insert into tbsalesvalues(tbSales_seq.Nextval,1,4,12,23500,to_date('2010-4-14','yyyy-mm-dd'));
insert into tbsalesvalues(tbSales_seq.Nextval,1,5,4,16500,to_date('2010-4-14','yyyy-mm-dd'));
insert into tbsalesvalues(tbSales_seq.Nextval,2,3,3,31000,to_date('2010-4-11','yyyy-mm-dd'));
insert into tbsalesvalues(tbSales_seq.Nextval,2,6,4,40000,to_date('2010-4-13','yyyy-mm-dd'));
insert into tbsalesvalues(tbSales_seq.Nextval,3,7,5,40000,to_date('2010-4-13','yyyy-mm-dd'));
insert into tbsalesvalues(tbSales_seq.Nextval,3,8,3,36000,to_date('2010-4-14','yyyy-mm-dd'));
insert into tbsalesvalues(tbSales_seq.Nextval,4,9,6,41500,to_date('2010-4-12','yyyy-mm-dd'));
insert into tbsalesvalues(tbSales_seq.Nextval,4,10,5,50000,to_date('2010-4-14','yyyy-mm-dd'));
二.单表查询 (每题2分,共10分)
1. 查询所有女职员的详细信息
2. 查询年龄在24到26岁之间的职员的姓名,性别
3. 查询家住广州的女职员的姓名,电话,地址
4. 查询陈飞飞,阿房女,张小杰的电话,地址
5. 查询广州和深圳的职员的姓名,性别,年龄
三.多表查询 (每题4分,共20分)
1. 所有职员,所有商品的销售情况,包括:职员姓名,商品类别,商品品牌,商品规格,销售数量,销售价值,销售时间,按销售时间从高到低排列
2. 笔记本4月份的销售情况,包括:商品编号,商品品牌,商品规格,销售数量,销售价值,按销售数量从低到高排列
3. 陈飞飞3月份的销售情况,包括:商品编号,销售数量,销售价值
4. 创维56英寸数字电视机 的销售情况,包括:销售数量,销售价值,销售时间
5. 广州男职员4月份的销售情况,包括:职员姓名,商品类别,商品品牌,商品规格,销售数量,销售价值
四.合计 (每题5分,共 30分)
1. 总共有多少个职员?
2. 创维电视机被销售了多少次?//总共有几条销售记录
3. 年龄最小的女职员的年龄
4. 笔记本单笔销售价值最高的单笔销售价值
5. TCL电视机的平均销售价格
6. 联想笔记本4月份的销售总额
五.分组与合计 (每题 5分,共计 35分)
1. 按类型,品牌统计商品的销售总数量,销售总数量低于20的不统计
2. 按品牌,规格统计笔记本的平均销售价格,按销售价格从高到低的顺序显示
3. 按姓名统计男职员3月份的销售总额,销售总额低于80000的不统计
4. 找出销售总额最高的职员的姓名
5. 按姓名统计每个职员一共完成了多少笔销售业务
6. 找出完成销售业务笔数最少的职员的姓名和他完成的业务数
7. 按性别统计职员的最大年龄和最小年龄