Oracle数据库——半期测验
Posted CuriousZero
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle数据库——半期测验相关的知识,希望对你有一定的参考价值。
一、使用system用户登录SQL*PLUS,使用命令将scott用户解锁,并将scott用户的密码修改为: t_你的学号后三位(例如:t_165)。然后,以scott用户连接数据库。
1. 使用system用户登录SQL*PLUS:
2.使用命令将scott用户解锁,并修改密码
语句:
ALTER USER scott ACCOUNT UNLOCK;
alter user scott identified by t_051;
conn scott;
3.以scott用户连接数据库。
二、按照题目要求创建employees表和departments表,并给表中添加数据:
(没有数据的用NULL)
创建 departments 表:
列名 |
数据类型 |
列的说明 |
depid |
integer |
部门编号(主键) |
depname |
char(12) |
部门名称 |
depnote |
Varchar2(20) |
备注 |
创建departments表的操作如下所示:
创建 employees 表:
列名 |
数据类型 |
列的说明 |
empid |
char(6) |
员工编号(主键) |
empname |
char(12) |
员工姓名(非空) |
birthdate |
date |
出生日期 |
depart |
integer |
所在部门编号(外键)(非空) |
salary |
Number(8,1) |
月薪 |
position |
char(8) |
职务 |
创建employees表的操作如下所示:
给departments表中添加数据:
depid |
depname |
depnote |
1 |
软件开发部 |
|
2 |
系统集成部 |
|
3 |
管理部 |
包括人事财务管理 |
给departments表中添加数据的操作如下:
查看添加数据后的表:
22
给employees表中添加数据:
empid |
empname |
birthdate |
depart |
salary |
position |
A00001 |
王晓丽 |
1980/4/27 |
2 |
2400 |
|
A00003 |
刘晴 |
1982/9/12 |
1 |
2200 |
|
A00004 |
王明 |
1972/3/14 |
1 |
4600 |
经理 |
A00007 |
赵书生 |
1978/12/15 |
2 |
2700 |
|
A00009 |
张蓝 |
1981/10/6 |
3 |
3000 |
副经理 |
A00012 |
王玲 |
1985/5/8 |
2 |
1500 |
文秘 |
给employees表中添加数据的操作如下:
查看添加数据后的表:
三、用SQL语句完成如下操作:
1. 查询2号部门的所有员工的姓名、部门编号和月薪。
2. 查询姓王的员工的编号和姓名
3.查询每人月薪扣除1000元之后员工的信息。使用列别名‘税后薪水’。
4. 查询月薪在2000到3000元之间的员工的姓名和月薪(使用between … and)
5. 查询“软件开发部”和“管理部”的员工编号、姓名、所在部门编号。(注意:需要使用两张表)
6. 查询除了经理、副经理之外的其他员工的信息。
7.查询姓名是两个字的80后员工的信息。
8. 查询position为空值的员工的个数
9. 查询除了经理以外的其他员工的最高薪水
select max(salary) from employees where position != \'经理\';
10. 按部门分组,查询每个部门的员工个数
11. 按部门分组,查询每个部门员工薪水的平均值。
12. 将“软件开发部”的员工薪水增加10% (注意:需要使用两张表)
13. 查询月薪低于本部门平均月薪的员工信息。
14. 查询平均月薪高于3000元的部门编号、部门名称及其员工姓名、员工月薪、部门平均月薪。
15. 从employees表中删除“管理部”的员工的信息。(注意:需要使用两张表)
四、使用OEM完成如下操作:
1、在OEM中按照题目要求创建表dept_你的学号后三位(例如:dept_165)
注意:分步骤给出截图,每个约束的创建都要给出截图。
列名 |
数据类型 |
列的说明 |
dno |
integer |
系编号(主键约束) |
dname |
char(12) |
系名(唯一约束) |
建表:
属性:
添加主键约束:
添加唯一约束:
2、在OEM中按照题目要求创建表stu_你的学号后三位(例如:stu_165)
注意:分步骤给出截图,每个约束的创建都要给出截图。
列名 |
数据类型 |
列的说明 |
sno |
integer |
学号(主键约束) |
sname |
Varchar2(20) |
姓名(非空约束) |
sage |
integer |
年龄(check约束:在12~99岁之间) |
sdep |
integer |
系编号(外键约束) |
(1)建表:
(2)添加学号为主键约束
(3)添加姓名为非空约束
(4)添加年龄为check约束(在12~99岁之间)
(3)添加系编号为外键约束
以上是关于Oracle数据库——半期测验的主要内容,如果未能解决你的问题,请参考以下文章