`

oracle的练习表---employee

阅读更多

转载于:http://lj6684.iteye.com/blog/771681

 

Oracle数据库安装的时候会自带一个练习用数据库(其中包含employee表,后来版本中此表改名为emp); 

首先在安装过程中应该有个选项“是否安装实例表”(完全安装模式下默认是选择的),需要选择才有此表; 

此表归属于scott账户,scott用户默认口令为tiger 
如果发现scott账户已过期(Oracle 10g中经常发生),或口令不正确,可以通过以下方法进行设置 :

 

 

--账户解锁
alter user scott account unlock;
--重设scott账户口令为tiger
alter user scott identified by tiger;

 适用于Oracle的SQL:

 

----------------------demobld.sql begin-----------------------
--
-- Copyright (c) Oracle Corporation 1988, 2000. All Rights Reserved.
--
-- NAME
-- demobld.sql
--
-- DESCRIPTION
-- This script. creates the SQL*Plus demonstration tables in the
-- current schema. It should be STARTed by each user wishing to
-- access the tables. To remove the tables use the demodrop.sql
-- script.
--
-- USAGE
-- From within SQL*Plus, enter:
-- START demobld.sql
SET TERMOUT ON
PROMPT Building demonstration tables. Please wait.

SET TERMOUT OFF
DROP TABLE EMP;
DROP TABLE DEPT;
DROP TABLE BONUS;
DROP TABLE SALGRADE;
DROP TABLE DUMMY;

CREATE TABLE EMP
(EMPNO NUMBER(4) NOT NULL,
ENAME VARCHAR2(10),
JOB VARCHAR2(9),
MGR NUMBER(4),
HIREDATE DATE,
SAL NUMBER(7, 2),
COMM NUMBER(7, 2),
DEPTNO NUMBER(2));
INSERT INTO EMP VALUES
(7369, 'SMITH', 'CLERK', 7902,
TO_DATE('17-DEC-1980', 'DD-MON-YYYY'), 800, NULL, 20);
INSERT INTO EMP VALUES
(7499, 'ALLEN', 'SALESMAN', 7698,
TO_DATE('20-FEB-1981', 'DD-MON-YYYY'), 1600, 300, 30);
INSERT INTO EMP VALUES
(7521, 'WARD', 'SALESMAN', 7698,
TO_DATE('22-FEB-1981', 'DD-MON-YYYY'), 1250, 500, 30);
INSERT INTO EMP VALUES
(7566, 'JONES', 'MANAGER', 7839,
TO_DATE('2-APR-1981', 'DD-MON-YYYY'), 2975, NULL, 20);

INSERT INTO EMP VALUES
(7654, 'MARTIN', 'SALESMAN', 7698,
TO_DATE('28-SEP-1981', 'DD-MON-YYYY'), 1250, 1400, 30);

INSERT INTO EMP VALUES(7698, 'BLAKE', 'MANAGER', 7839,
TO_DATE('1-MAY-1981', 'DD-MON-YYYY'), 2850, NULL, 30);

INSERT INTO EMP VALUES
(7782, 'CLARK', 'MANAGER', 7839,
TO_DATE('9-JUN-1981', 'DD-MON-YYYY'), 2450, NULL, 10);

INSERT INTO EMP VALUES
(7788, 'SCOTT', 'ANALYST', 7566,
TO_DATE('09-DEC-1982', 'DD-MON-YYYY'), 3000, NULL, 20);

INSERT INTO EMP VALUES
(7839, 'KING', 'PRESIDENT', NULL,
TO_DATE('17-NOV-1981', 'DD-MON-YYYY'), 5000, NULL, 10);

INSERT INTO EMP VALUES
(7844, 'TURNER', 'SALESMAN', 7698,
TO_DATE('8-SEP-1981', 'DD-MON-YYYY'), 1500, 0, 30);

INSERT INTO EMP VALUES
(7876, 'ADAMS', 'CLERK', 7788,
TO_DATE('12-JAN-1983', 'DD-MON-YYYY'), 1100, NULL, 20);

INSERT INTO EMP VALUES
(7900, 'JAMES', 'CLERK', 7698,
TO_DATE('3-DEC-1981', 'DD-MON-YYYY'), 950, NULL, 30);

INSERT INTO EMP VALUES
(7902, 'FORD', 'ANALYST', 7566,
TO_DATE('3-DEC-1981', 'DD-MON-YYYY'), 3000, NULL, 20);

INSERT INTO EMP VALUES
(7934, 'MILLER', 'CLERK', 7782,
TO_DATE('23-JAN-1982', 'DD-MON-YYYY'), 1300, NULL, 10);

CREATE TABLE DEPT
(DEPTNO NUMBER(2),
DNAME VARCHAR2(14),
LOC VARCHAR2(13) );

INSERT INTO DEPT VALUES (10, 'ACCOUNTING', 'NEW YORK');
INSERT INTO DEPT VALUES (20, 'RESEARCH', 'DALLAS');
INSERT INTO DEPT VALUES (30, 'SALES', 'CHICAGO');
INSERT INTO DEPT VALUES (40, 'OPERATIONS', 'BOSTON');

CREATE TABLE BONUS
(ENAME VARCHAR2(10),
JOB VARCHAR2(9),
SAL NUMBER,
COMM NUMBER);
CREATE TABLE SALGRADE
(GRADE NUMBER,
LOSAL NUMBER,
HISAL NUMBER);

INSERT INTO SALGRADE VALUES (1, 700, 1200);
INSERT INTO SALGRADE VALUES (2, 1201, 1400);
INSERT INTO SALGRADE VALUES (3, 1401, 2000);
INSERT INTO SALGRADE VALUES (4, 2001, 3000);
INSERT INTO SALGRADE VALUES (5, 3001, 9999);

CREATE TABLE DUMMY
(DUMMY NUMBER);

INSERT INTO DUMMY VALUES (0);
COMMIT;
SET TERMOUT ON
PROMPT Demonstration table build is complete.
EXIT
-------------------demobld.sql end-----------------------

 

 

适用于MySQL的:

 

DROP TABLE employee;
DROP TABLE dept;
DROP TABLE bonus;
DROP TABLE salgrade;
DROP TABLE dummy;

CREATE TABLE employee(  
           employeeno DECIMAL(4) NOT NULL,
           ename VARCHAR(10),
           job VARCHAR(9),
           mgr DECIMAL(4),
           hiredate DATE,
           sal DECIMAL(7, 2),
           comm DECIMAL(7, 2),
          deptno DECIMAL(2)
);

INSERT INTO employee VALUES(7369, 'SMITH', 'CLERK', 7902, '1980-12-17', 800, NULL, 20);
INSERT INTO employee VALUES(7499, 'ALLEN', 'SALESMAN', 7698,'1981-2-20', 1600, 300, 30);
INSERT INTO employee VALUES(7521, 'WARD', 'SALESMAN', 7698, '1981-2-22', 1250, 500, 30);
INSERT INTO employee VALUES(7566, 'JONES', 'MANAGER', 7839, '1981-4-2', 2975, NULL, 20);
INSERT INTO employee VALUES(7654, 'MARTIN', 'SALESMAN', 7698, '1981-9-28', 1250, 1400, 30);
INSERT INTO employee VALUES(7698, 'BLAKE', 'MANAGER', 7839, '1981-5-1', 2850, NULL, 30);
INSERT INTO employee VALUES(7782, 'CLARK', 'MANAGER', 7839, '1981-7-9', 2450, NULL, 10);
INSERT INTO employee VALUES(7788, 'SCOTT', 'ANALYST', 7566, '1982-12-9', 3000, NULL, 20);
INSERT INTO employee VALUES(7839, 'KING', 'PRESIDENT', NULL, '1981-11-17', 5000, NULL, 10);
INSERT INTO employee VALUES(7844, 'TURNER', 'SALESMAN', 7698, '1981-9-8', 1500, 0, 30);
INSERT INTO employee VALUES(7876, 'ADAMS', 'CLERK', 7788, '1983-1-12', 1100, NULL, 20);
INSERT INTO employee VALUES(7900, 'JAMES', 'CLERK', 7698, '1981-12-3', 950, NULL, 30);
INSERT INTO employee VALUES(7902, 'FORD', 'ANALYST', 7566, '1981-12-3', 3000, NULL, 20);
INSERT INTO employee VALUES(7934, 'MILLER', 'CLERK', 7782, '1982-1-23', 1300, NULL, 10);

CREATE TABLE dept
(deptno DECIMAL(2),
dname VARCHAR(14),
loc VARCHAR(13) );

INSERT INTO dept VALUES (10, 'ACCOUNTING', 'NEW YORK');
INSERT INTO dept VALUES (20, 'RESEARCH', 'DALLAS');
INSERT INTO dept VALUES (30, 'SALES', 'CHICAGO');
INSERT INTO dept VALUES (40, 'OPERATIONS', 'BOSTON');

CREATE TABLE bonus
(ename VARCHAR(10),
job VARCHAR(9),
sal DECIMAL,
comm DECIMAL);

CREATE TABLE salgrade
(grade DECIMAL,
losal DECIMAL,
hisal DECIMAL);

INSERT INTO salgrade VALUES (1, 700, 1200);
INSERT INTO salgrade VALUES (2, 1201, 1400);
INSERT INTO salgrade VALUES (3, 1401, 2000);
INSERT INTO salgrade VALUES (4, 2001, 3000);
INSERT INTO salgrade VALUES (5, 3001, 9999);

CREATE TABLE dummy(
 dummy DECIMAL
);

INSERT INTO dummy VALUES (0);
分享到:
评论
2 楼 peterxiemin 2011-10-24  
emp在建立的时候,报无效的月份,为什么 ?
1 楼 Javakeith 2011-01-27  
JE的编译器,真头疼!

相关推荐

    oracle-SQL-note.rar_oracle

    本文档“oracle-SQL-note.rar_oracle”显然是一份关于Oracle SQL的练习集,旨在帮助用户深入理解和熟练掌握SQL的基本语法和用法。 首先,SQL(Structured Query Language,结构化查询语言)是所有关系型数据库管理...

    oracle学习笔记--言简意赅

    - **恢复练习表**: 使用以下命令来执行SQL脚本,恢复练习表: ```sql sqlplus /*/* @summit2.sql ``` - **登录Oracle**: 使用`sqlplus 用户名/密码`命令登录Oracle数据库。 - **显示当前用户**: `show user`...

    oracle练习题39题(附个人编码答案)

    - `DUAL`表在Oracle中是一个特殊的单行单列表,常用于测试和简单查询,如在本例中,函数的查询结果直接插入到`DUAL`表中。 3. 分数排序与窗口函数: - `DENSE_RANK()`函数在处理分数排序时,不会跳过相同分数后的...

    Oracle_教程01-入门

    - 表类型:以_table_type结尾,如Emp_record_type。 #### 常见变量类型 - **CHAR(n)**:定长字符串,最长可达2000字节。 - **VARCHAR2(n)**:变长字符串,最长可达4000字节。 - **BINARY_INTEGER**:用于整数计算...

    Oracle 练习题 很好的自测题

    ### Oracle练习题知识点详解 #### 一、Oracle基础练习题解析 ##### CORE-E-001:基础SQL操作与理解 1. **SQLPLUS连接失败(ORA-12541)** - **问题**: 当尝试使用SQL*Plus工具连接Oracle数据库时,可能会遇到...

    Oracle SQL基础培训_练习.ppt

    在这个Oracle SQL基础培训练习中,我们将深入探讨几个关键的概念和操作,包括DML(Data Manipulation Language)基础、多表关联(JOINS)以及分页查询。 1. DML基础练习: - Suppliers表和Orders表代表供应商和...

    Oracle练习(ppt文档).ppt

    在这些SQL练习题中,我们涉及了多个关于Oracle SQL的基本概念和操作: 1. 数据库的特点:数据库的主要特性包括高速数据传输、较高的数据独立性、数据冗余较小以及多用户数据共享。选项A、B、C都是数据库的特征,而...

    Oracle 常用函数练习含答案

    ### Oracle常用函数知识点详解 #### 一、查询员工ENAME的第三个字母是A的员工的信息(使用2个函数) - **知识点解析**: - `upper` 函数:用于将输入的字符串转换为大写。 - `||` 运算符:用于连接两个字符串。 ...

    oracle sql练习题

    在Oracle SQL中,练习题是提升技能的有效方式。以下是对提供的练习题的详细解答: 1. **查询最多员工的国家**: 使用`GROUP BY`和`COUNT()`函数,可以找出公司中员工数量最多的国家: ```sql SELECT country_...

    Oracle数据库实验报告

    - **内容概述**:这部分主要涉及Oracle数据库的数据导入、查询表和用户信息、管理数据文件等。 - **操作示例**: - 导入表:`SQL> imp system/testtables=(xs,kc,xs_kc) file=c:\xskc.dmp;` - 查询归档文件信息:`...

    oracle触发器

    下面是一个具体的触发器示例,该触发器用于防止在周六和周日对`employee`表进行任何插入、更新或删除操作: ```sql CREATE OR REPLACE TRIGGER tr_sec_emp BEFORE INSERT OR UPDATE OR DELETE ON employee BEGIN ...

    Oracle第一次考试答案

    通过上述知识点的学习与练习,考生将能够掌握Oracle数据库的基本操作,包括表空间与用户的管理、表的设计与创建、数据的查询与筛选等核心技能。此外,通过对游戏信息表和下载记录表的设计与数据填充,进一步加深了对...

    oracle面试测试题.docx

    - Employee表:EID,Name,Department,Job,Email,password - Training表:CourseId,EID,orders,CourseGrade - - 表结构设计,设置EID为主键 - - 插入数据到两个表 - - 查询: - A:显示员工的EID,Name...

    oracle oca 1z0-007

    此考试主要聚焦于Oracle 9i SQL的基础知识,包括数据查询、数据操纵语言(DML)以及表之间的连接等关键概念。以下是对该考试部分知识点的详细解析: ### 关于SQL连接查询 在SQL中,连接查询是一种非常重要的操作,...

    Oracle课后练习.pdf

    选项A和B是可能的,取决于数据库配置,但根据标准SQL,选项B(employee salary)更常见。 3. 两个查询的结果应该是一样的,因为它们都按salary排序。选项A是正确答案。 4. 查询`SELECT ename FROM emp WHERE ...

    tarena根笔记oracle

    在$ORACLE_HOME/rdbms/demo目录下,有用于练习的脚本,如summit2.sql。恢复练习表可使用`sqlplus 用户名/密码 @summit2.sql`命令。登录Oracle数据库的命令是`sqlplus 用户名/密码`,`show user`则用来显示当前登录的...

    oracle数据库

    - **子句**:SQL语句的一部分,如`SELECT employee_id, last_name`是一个子句。 - **语句**:由两个或多个子句组成的完整SQL指令,如`SELECT * FROM employees`。 #### 实践与练习 - 文件提到的时间分配为:讲演25...

Global site tag (gtag.js) - Google Analytics