1 / 9
文档名称:

SQL题及答案.doc

格式:doc   大小:73KB   页数:9页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

SQL题及答案.doc

上传人:63229029 2017/10/29 文件大小:73 KB

下载得到文件列表

SQL题及答案.doc

文档介绍

文档介绍:第一部分
雇员表:EMPLOYEE
(EMPNO CHARACTER(6) NOT NULL, --雇员编号,定义为主键
FIRSTNME VARCHAR(12) NOT NULL, --雇员第一个名字
MIDINIT CHARACTER(1), --雇员中间名字的首字母
LASTNAME VARCHAR(15) NOT NULL, --雇员最后一个名字
WORKDEPT SMALLINT, --部门编号,外键,对应部门表DEPTNO
PHONENO CHARACTER(4), --电话号码
HIREDATE DATE, --雇用日期
JOB CHARACTER(8), --工作岗位
EDLEVEL SMALLINT NOT NULL, --学历(1:中学及以下,2:大学,3:硕士及以上)
SEX CHARACTER(1), --性别(1:男,2:女)
BIRTHDATE DATE, --出生日期(60周岁以上为退休)
SALARY DECIMAL(9, 2), --薪水
BONUS DECIMAL(9, 2) --奖金
);
部门表:DEPT
(DEPTNO SMALLINT NOT NULL, --部门编号,主键
DEPTNAME VARCHAR(14), --部门名称
MANAGER SMALLINT --部门经理编号,每个经理也是雇员表中一个雇员
);
1、找出收入(SALARY和BONUS之和)最低的10个EMPNO,按照收入从低到高排序。
DB2:
select empno,salary+bonus from employee order by salary+bonus desc fetch first 10 rows only
2、从雇员表中删除雇用日期在1940年1月1日以前的雇员。
Db2:
Delete from employee where hiredate<’1940-01-01’
3、算出所有雇员的平均收入(SALARY和BONUS之和)、最低收入、最高收入,取整数位,小数点后面四舍五入。
Db2:
select round(sum(salary+bonus),0),round(min(salary+bonus),0),round(max(salary+bonus),0) from employee
4、列出所有雇员的全名,全部转换成大写字母,名字每一部分中间用空格隔开。
Db2:
select upper(FIRSTNME||' '||MIDINIT||' '||LASTNAME) from employee
5、找出雇员数大于50的部门的编号。
Db2:
select . deptno,
from
where in(select workdept
from
group by workdept
having count(*)>1)
6、在雇员表JOB字段上新建一个索引,取名idx_emp_job。
Db2:
Create index idx_