Oracle DatabaseOracle Databaseの概要


備考

Oracleは、70年代後半にLarry Ellison、Bob Miner、Ed Oatesによって最初に構築されたリレーショナル・データベース管理システム(RDBMS)です。これはIBMのシステムRと互換性があることを意図していました。

バージョン

バージョン発売日
バージョン1(未発売) 1978-01-01
Oracle V2 1979-01-01
Oracleバージョン3 1983-01-01
Oracleバージョン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を介して行を2重にすること意図していましたが、 DUMMY 値が 'X'の行が1つ含まれています。

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;