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 ...
随机推荐
- Sql Server REPLACE函数的使用;SQL中 patindex函数的用法
Sql Server REPLACE函数的使用 REPLACE用第三个表达式替换第一个字符串表达式中出现的所有第二个给定字符串表达式. 语法REPLACE ( ''string_replace1'' ...
- 在VS2010 中兼容Qt4和Qt5
1,同时安装Qt4和Qt5 Qt_add,然后在 2. 如果之前的项目使用Qt4编写的,如果新添加新的类和ui的话,一定要选择Qt Add_in 1.1.11,不然就无法生成moc文件,随便选择 Ch ...
- svn认证失败时的解决
删除用户目录下的.subversion文件夹,这个文件夹记录了密码! rm .subversion/ -rf
- iOS App提交指南-协议、税务和银行业务
App通过审核时,选择的是手动发布,想着等到自己生日那天来发布,当做留个纪念,结果生日当天发布时,由于App属于收费应用,还需要填写协议.税务和银行信息,结果又急急忙忙地去找了下这方面的资料,现在把整 ...
- sqlite 数据类型详解
大多数的数据库引擎(到现在据我们所知的除了sqlite的每个sql数据库引擎)都使用静态的.刚性的类型,使用静态类型,数据的类型就由它的容器决定,这个容器是这个指被存放的特定列. Sqlite使用一个 ...
- IOS 作业项目(3) 霓虹灯效果
先上效果图 #import "CHViewController.h"@interface CHViewController (){ int i; int j;}@pro ...
- LeetCode Kth Largest Element in an Array (快速排序)
题意: 在一个无序的数组中第k大的数是多少? 思路: 按照快排的思路,如果每次分成两段后,设为L和R.如果R>=k ,则答案在右边集合,否则在左边集合. 这里用了3位取中法.注意快排别给写死循环 ...
- 《深入浅出Node.js》第2章 模块机制
@by Ruth92(转载请注明出处) 第2章 模块机制 JavaScript 先天缺乏的功能:模块. 一.CommonJS 规范: JavaScript 规范的缺陷:1)没有模块系统:2)标准库较少 ...
- 【题解】【矩阵】【DP】【Leetcode】Minimum Path Sum
Given a m x n grid filled with non-negative numbers, find a path from top left to bottom right which ...
- Think Python - Chapter 18 - Inheritance
In this chapter I present classes to represent playing cards, decks of cards, and poker hands.If you ...