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. 查询月薪在20003000元之间的员工的姓名和月薪(使用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数据库——半期测验的主要内容,如果未能解决你的问题,请参考以下文章

半期考试 二三题 (书籍维护 数据库)

半期考试 二三题 (书籍维护 数据库)

半期考试 二三题 (书籍维护 数据库)

半期考试之 SQLite操作

半期考试之 SQLite操作

半期考试 之 文件存储