数据库上机答案
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库上机1
1、新建工厂数据库factory。
create database factory
on(
name=factory_data,
filename='d:\factory.mdf')
log on(name=factory_log,
filename='d:\factory.ldf')
2、数据库factory包括职工表worker、部门表depart和职工工资表salary。用SQL语句建立这三个表并输入数据,其表结构及用例数据分别如下:
职工表结构为:
职工号:int;
姓名:char(8) ;
性别:char(2) ;
出生日期:datetime;
党员否:char(2) ;
参加工作:datetime;
部门号:int;
其中职工号为主码。
部门表结构为:
部门号:int;
部门名:char(10);
其中部门号为主码。
职工工资表结构为:
职工号:int;
日期:datetime;
工资:decimal(6,1) ;
其中职工号和日期为主码。
create table worker
( 职工号int primary key, 姓名char(8) ,
性别char(2),
出生日期datetime,
党员否char(2),
参加工作datetime,
部门号int
)
create table depart
( 部门号int primary key, 部门名char(10)
)
create table salary
( 职工号int,
日期datetime,
工资decimal(6,1),
Primary key(职工号,日期)
)
3. 显示部门的详细信息。
select * from depart
4.查询3号职工的工资单。
select * from salary where职工号=3
5.显示所有职工的姓名及年龄,并按姓名升序显示。
select 姓名, 2015-year(出生日期) '年龄' from worker order by姓名6. 求出各部门的部门号及党员人数。
select 部门号,count(党员否) '党员人数' from worker
where 党员否='是'
group by 部门号
7. 在worker表的“姓名”列创建唯一索引nameindex。
create unique index nameindex on worker (姓名)
数据库上机2
1. 查询12月份过生日的名单。
答:select 姓名from worker
where month(出生日期)= 12
2. 查询所有姓刘的职工信息。
select * from worker where 姓名like ‘刘%’
3. 显示所有职工的职工号和2011年2月份的工资数。
select 职工号,工资from salary
where year(日期)=2011 and month(日期)=2
4. 查询1号部门所有职工的姓名和工资,并按工资降序排列。
select姓名,工资from worker, salary
where worker.职工号= salary.职工号and部门号=1
order by工资desc
5. 显示所有平均工资低于2500的部门名和对应的工资。
select 部门名, avg(工资) '部门平均工资'
from salary,worker,depart
where worker.部门号=depart.部门号and salary.职工号=worker.职工号group by部门名
having avg(工资) < 2500
6. 显示工资最高职工的职工号、姓名、部门名、工资发放日期和工资。
select worker.职工号, 姓名, 部门名, 日期, 工资
from worker,salary,depart
where worker.职工号=salary.职工号and worker.部门号= depart.部门号and 工资=(select max(工资) from salary)
7. 显示所有平均工资低于全部职工平均工资的职工的职工号、姓名和平均工资。
select worker.职工号, 姓名, avg(工资) '平均工资'
from worker,salary
where worker.职工号=salary.职工号
group by worker.职工号, 姓名
having avg(工资)<(select avg(工资) from salary)
数据库上机3
1. depart表中插入一条部门记录:(4,'设备处')。
insert into depart values(4,’设备处’)
2. worker表中插入一条职工记录:(20, '陈立', '女', '1980/06/08', ‘是’, '1999/11/10', 4)。
insert into worker values(20, '陈立', '女', '1980/03/08', '是', '1999/10/10', 4)