Oracle DatabaseOracle数据库入门


备注

Oracle是一个关系数据库管理系统(RDBMS),最初由Larry Ellison,Bob Miner和Ed Oates在70年代后期建立。它旨在与IBM的System R兼容。

版本

发布日期
版本1(未发布) 1978年1月1日
Oracle V2 1979-01-01
Oracle版本3 1983年1月1日
Oracle Version 4 1984-01-01
Oracle版本5 1985-01-01
Oracle版本6 1988-01-01
Oracle7中 1992-01-01
在Oracle8 1997-07-01
Oracle8i中 1999-02-01
Oracle9i中 2001-06-01
Oracle 10g 2003-01-01
Oracle 11g 2007-01-01
Oracle 12c 2013-01-01

你好,世界

SELECT 'Hello world!' FROM dual;
 

在Oracle的SQL风格中, “双重只是一个便利表” 。它原本打算通过JOIN加倍行,但现在包含一行DUMMY 值为'X'。

来自PL / SQL的Hello World

/* PL/SQL is a core Oracle Database technology, allowing you to build clean, secure, 
   optimized APIs to SQL and business logic. */

set serveroutput on 

BEGIN
   DBMS_OUTPUT.PUT_LINE ('Hello World!');
END;
 

你好,世界!从表

创建一个简单的表

create table MY_table (
   what varchar2(10), 
   who varchar2(10), 
   mark varchar2(10)
);
 

插入值(如果为所有列提供值,则可以省略目标列)

insert into my_table (what, who, mark) values ('Hello', 'world', '!' );
insert into my_table values ('Bye bye', 'ponies', '?' );
insert into my_table (what) values('Hey');
 

记得提交,因为Oracle使用事务

commit;
 

选择您的数据:

select what, who, mark from my_table where what='Hello';
 

SQL查询

列出本世纪出生的收入超过5万美元的员工。列出他们的姓名,出生日期和工资,按名称按字母顺序排序。

SELECT employee_name, date_of_birth, salary
FROM   employees
WHERE  salary > 50000
   AND date_of_birth >= DATE '2000-01-01'
ORDER BY employee_name;
 

显示每个部门至少有5名员工的员工人数。首先列出最大的部门。

SELECT department_id, COUNT(*)
FROM   employees
GROUP BY department_id
HAVING COUNT(*) >= 5
ORDER BY COUNT(*) DESC;