数据库上机答案

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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)

相关文档
最新文档