Académique Documents
Professionnel Documents
Culture Documents
In aceste exercitii utilizati tabelele My_emp, My_dept si My_jobs create pe baza tabelelor
Employees, Departmens si Jobs din schema (user-ul) HR astfel:
MY_DEPT:
Name Null? Type
DEPARTMENT_ID NUMBER(4)
DEPARTMENT_NAME NOT NULL VARCHAR2(30)
MANAGER_ID NUMBER(6)
LOCATION_ID NUMBER(4)
MY_JOBS:
Name Null? Type
JOB_ID VARCHAR2(10)
JOB_TITLE NOT NULL VARCHAR2(35)
MIN_SALARY NUMBER(6)
MAX_SALARY NUMBER(6)
Exercitii:
1. Sa se selecteze din tabela my_emp numai angajatii care au salariul cuprins intre 8000
si 10000.
select * from angajati
where salariul between 8000 and 10000;
2. Sa se selecteze din tabela my_emp numai angajatii care au functia (job_id) SA_REP.
select * from angajati
where id_functie='SA_REP';
3. Modificati conditia de sus astfel incat sa fie selectati si cei care au in denumirea
functiei atributul ACCOUNT.
select * from angajati
where id_functie like '%ACCOUNT%';
4. Sa se selecteze toti angajatii pentru care a doua litera din e-mail este A, B sau C
SELECT * FROM angajati
WHERE (upper(email) like '_A%')
OR (upper(email) like '_B%')
OR (upper(email) like '_C%');
5. Sa se selecteze toti angajatii care au numarul de telefon format din al doilea grup de
cifre din 124 (de exemplu: 515.124.4569)
SELECT * FROM angajati
WHERE telefon LIKE '___.124.____';
7. Modificati conditia de mai sus astfel incat sa afisati numai angajatii nascuti in ianuarie
2000.
SELECT * FROM angajati
WHERE data_angajare like('___JAN-2000');
11. Modificati conditia de mai sus astfel incat sa afisati toti angajatii cu functii de
Manager (de exemplu Finance Manager sau Purchasing Manager etc).
SELECT a.nume, a.prenume, a.salariul, d.denumire_departament,f.denumire_functie
FROM angajati a, departamente d, functii f
WHERE (d.id_departament = a.id_departament)
AND (f.id_functie=a.id_functie)
AND (f.denumire_functie LIKE '%Manager%');
15. Afisati numele, comisionul si functia angajatilor din departamentul Sales si calculati
suma primita prin aplicarea comisionului la volumul vanzarilor de 20000 de euro.
SELECT a.nume,a.prenume, f.denumire_functie, a.comision, a.comision*20000 AS
Suma_primita
FROM angajati a, functii f, departamente d
WHERE (f.id_functie = a.id_functie)
AND (d.id_departament = a.id_departament)
AND (a. comision is not null)
AND (d.denumire_departament='Sales');