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数据库——半期测验的更多相关文章
- Oracle数据库 —— DML完结
时间:2016-8-18 01:17 ----------------------------------------------------------------------------停下休息的 ...
- Oracle 数据库基础——安装
一.数据库基础知识 1.概念 数据库全称数据库管理系统,简称DBMS,是一种在计算机中,针对数据进行管理.存储.共享的一种技术. 2.分类 数据库的发展过程中,按逻辑模型可分为以下几种: 3.关系型数 ...
- CentOS以及Oracle数据库发展历史及各版本新功能介绍, 便于构造环境时有个对应关系
CentOS版本历史 版本 CentOS版本号有两个部分,一个主要版本和一个次要版本,主要和次要版本号分别对应于RHEL的主要版本与更新包,CentOS采取从RHEL的源代码包来构建.例如CentOS ...
- Oracle数据库之一
数据库(oracle) SQL --结构化查询语言,所有数据库基本通用 数据库是数据的仓库,用于存储数据. 内存.文件和数据库区别 内存中的数据是非持久的,关机之后就会消失. 文件和数据库中的数据都是 ...
- Oracle数据库之动态SQL
Oracle数据库之动态SQL 1. 静态SQLSQL与动态SQL Oracle编译PL/SQL程序块分为两个种:一种为前期联编(early binding),即SQL语句在程序编译期间就已经确定,大 ...
- Oracle数据库时间类型悬疑案
这次遇到的问题小Alan其实一年半前做证券行业项目就已经遇到过,但是一直没有去思考是什么原因导致的这样的悬疑案,悬疑案是什么呢?其实很简单,我想有不少童鞋都有用到Oracle数据库,情形是这样子的,这 ...
- ORACLE数据库编程
第一章 Oracle数据库基本概念 一.介绍 Oracle数据库系统是美国Oracle(甲骨文)公司提供的以分布式数据库为 核心的一组软件产品,是目前最流行的客户/服务器(Client/Server, ...
- 【Oracle教程资源大合集】Oracle数据库免费学习资源汇总
Oracle的产品非常丰富,各类学习资源也五花八门,本文将介绍Oracle官方的免费教程与风哥整理的Oracle视频教程: 1.Oracle帮助中心 Oracle帮助中心也称为Oracle文档中心,这 ...
- 转://Linux大内存页Oracle数据库优化
PC Server发展到今天,在性能方面有着长足的进步.64位的CPU在数年前都已经进入到寻常的家用PC之中,更别说是更高端的PC Server:在Intel和AMD两大处理器巨头的努力下,x86 C ...
随机推荐
- Emacs常用命令
1.离开Emacs 挂起Emacs C-z 退出Emacs C-x C-c 2.文件 打开文件 C-x C-f 保存文件 C-x C-s 保存所有的文件 C-x s 将一个文件的内容插入到当前buff ...
- The Triangle_DP
ime Limit: 1000MS Memory Limit: 10000K Total Submissions: 45620 Accepted: 27612 Description 73 8 ...
- GIT之一 起步篇
关于版本控制 版本控制是一种记录一个或若干文件内容变化,以便将来查阅特定版本修订情况的系统.如果你是位图形或网页设计师,可能会需要保存某一幅图片或页面布局文件的所有修订版本.采用版本控制系统(VCS) ...
- Magento模板Paypal付款不成功返回清空购物车产品【解决方案】
Magento模板Paypal付款不成功返回清空购物车产品[解决方案] 今天我有个客户要集成l了paypal账户但在使用是遇到了问题遇到了这个问题. 当我们使用第三方支付工具Gateway如paypa ...
- Ubuntu14.04 64位运行32位程序
最近公司新增的机器安装Ubuntu14.04 64bit导致之前在32bit下编译的Qt工具软件无法运行. 于是google的了一下找到一些解决办法,但不能保证全部32bit的Qt程序都能正常,测试了 ...
- LeetCode Populating Next Right Pointers in Each Node (技巧)
题意: 给一棵满二叉树,要求将每层的节点从左到右用next指针连起来,层尾指向NULL即可. 思路: 可以递归也可以迭代.需要观察到next的左孩子恰好就是本节点的右孩子的next啦. (1)递归:这 ...
- 《JS高程》事件学习笔记
事件:文档或浏览器窗口中发生的一些特定的交互瞬间,也即用户或浏览器自身执行的某种动作. -------------------------------------------------------- ...
- Debian 入门安装与配置1
Debian 入门安装与配置1 最近安装了多个发行版本的Linux,包括Ubuntu.Fedora.Centos和Debian,发现只有Debian在界面和稳定性等综合特性上表现最优,自己也最喜欢,所 ...
- 五 Servlet 技术
一 Servlet 基础 1. 定义相关: a) 是运行在 Web 服务器上得 Java 小程序 b) 只将处理结果返回给客户 c) 是实现接口 Servlet 的 java 类,能被服务器调用. d ...
- java中replace和replaceAll的区别
replace和replaceAll是JAVA中常用的替换字符的方法,它们的区别是: 1)replace的参数是char和CharSequence,即可以支持字符的替换,也支持字符串的替换(CharS ...