Oracle DatabaseAan de slag met Oracle Database


Opmerkingen

Oracle is een relationeel databasebeheersysteem (RDBMS), oorspronkelijk gebouwd door Larry Ellison, Bob Miner en Ed Oates in de late jaren '70. Het was bedoeld om compatibel te zijn met IBM's System R.

versies

Versie Publicatiedatum
Versie 1 (niet uitgebracht) 1978/01/01
Oracle V2 1979/01/01
Oracle versie 3 1983-01-01
Oracle versie 4 1984/01/01
Oracle versie 5 1985/01/01
Oracle versie 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

Hallo Wereld

SELECT 'Hello world!' FROM dual;
 

In Oracle's smaak van SQL is "dubbel een conventie-tabel" . Het was oorspronkelijk bedoeld om rijen te verdubbelen via een JOIN, maar bevat nu een rij met een DUMMY waarde van 'X'.

Hallo wereld van PL / SQL

/* 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;
 

Hallo Wereld! van tafel

Maak een eenvoudige tabel

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

Waarden invoegen (u kunt doelkolommen weglaten als u waarden voor alle kolommen opgeeft)

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');
 

Vergeet niet te plegen, omdat Oracle transacties gebruikt

commit;
 

Selecteer uw gegevens:

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

SQL-vraag

Lijst van werknemers die meer dan $ 50000 verdienen, deze eeuw geboren. Lijst hun naam, geboortedatum en salaris, alfabetisch gesorteerd op naam.

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

Toon het aantal werknemers in elke afdeling met minstens 5 werknemers. Lijst eerst de grootste afdelingen.

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