Sunteți pe pagina 1din 2

Interogari – exercitii

Partea I: functii, operatori, jonctiuni

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:

DROP TABLE MY_EMP;


DROP TABLE MY_DEPT;
DROP TABLE MY_JOBS;
CREATE TABLE MY_EMP AS SELECT * FROM HR.EMPLOYEES;
CREATE TABLE MY_DEPT AS SELECT * FROM HR.DEPARTMENTS;
CREATE TABLE MY_JOBS AS SELECT * FROM HR.JOBS;

Strucura acestor tabele este prezentata in tabelele urmatoare:


MY_EMP:
Name Null? Type
EMPLOYEE_ID NUMBER(6)
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
EMAIL NOT NULL VARCHAR2(25)
PHONE_NUMBER VARCHAR2(20)
HIRE_DATE NOT NULL DATE
JOB_ID NOT NULL VARCHAR2(10)
SALARY NUMBER(8,2)
COMMISSION_PCT NUMBER(2,2)
MANAGER_ID NUMBER(6)
DEPARTMENT_ID NUMBER(4)

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.
2. Sa se selecteze din tabela my_emp numai angajatii care au functia (job_id) SA_REP.
3. Modificati conditia de sus astfel incat sa fie selectati si cei care au in denumirea
functiei atributul ACCOUNT.
4. Sa se selecteze toti angajatii pentru care a doua litera din e-mail este A, B sau 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)
6. Sa se selecteze toti angajatii angajati inainte de 1ianuarie 2000 (hire_date).
7. Modificati conditia de mai sus astfel incat sa afisati numai angajatii nascuti in ianuarie
2000.
8. Sa se selecteze numele, salariul si functia angajatiilor din departamentul IT
(department_name din tabela my_dept).
9. Modificati conditia de mai sus astfel incat sa fie selectati toti angajatii din
departamentele care au in denumire specificatia IT.
10. Sa se selecteze numele, salariul si departamentul angajatiilor care au functia de
Programmer (JOB_TITLE din tabela my_jobs).
11. Modificati conditia de mai sus astfel incat sa afisati toti angajatii cu functii de
Manager (de exemplu Finance Manager sau Purchasing Manager etc).
12. Sa se selecteze numele si salariul angajatiilor din departamentele cu specific IT (care
contin in denumire IT) si care au functia de Programmer sau Manager.
13. Afisati numele si in ordine crescatoare salariile si in ordine descrescatoare data
angajarii penru salariatii din departamentul Sales.
14. Sa se selecteze numele, functia, comisionul si departamentul angajatilor care nu au
comisionul NULL.
15. Afisati numele, comisionul si functia angajatilor din departamentul Sales si calculati
suma primita prin aplicarea comisionului la volumul vanzarilor de 20000 de euro.
16. Introduceti o conditie in interogarea de mai sus pentru afisarea angajatilor cu un
valoare a acestei sume mai mare de 3000 euro. Ordonati descrescator aceste valori.