Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 3

1.

Afisati data curenta sub forma �Numele zilei, zz NumeLuna aaaa� (Ex: Marti, 22
Martie
2016).

SELECT TO_CHAR(sysdate , 'day,DD.MONTH.yyyy')


FROM DUAL;

2. Afisati data ultimei angajari, salariul minim si salariul maxim pentru fiecare
departament.

SELECT department_id , MAX(hire_date),MAX(salary),MIN(salary)


FROM Employees
GROUP BY department_id

3. Afisati numarul de departamente pentru fiecare locatie. (Departments)

SELECT COUNT(department_name), location_id


FROM Departments
GROUP BY location_id;

4. Afisati numarul de orase distincte care sunt �nregistrate pentru fiecare


tara.(Locations) Ordonati datele �n functie de numarul de orase.

SELECT COUNT(city), country_id


FROM Locations
GROUP BY country_id
ORDER BY COUNT(city)

5. Afisati departamentele �n care salariul maxim este mai mare dac�t 10000

SELECT department_id, MAX(salary)


FROM Employees
GROUP BY department_id
HAVING MAX (salary) > 10000;

6. Afisati numarul de angajati cu comision pentru fiecare job.

SELECT COUNT(commission_pct),job_id
FROM Employees
GROUP BY job_id

7. Afisati numarul de departamente care au manager.

SELECT COUNT(manager_id)
FROM Departments

8. Afisati media rotunjita a salariului minim pentru fiecare tip de job.

SELECT Round ( AVG ( MIN(salary)))


FROM Employees
GROUP BY job_id

9. Afisati salariul maxim si data primei angajari pentru fiecare departament si


fiecare job.
Ordonati datele dupa data afisata.

10. Afisati numarul de angajati si salariul maxim pentru fiecare an in parte.

SELECT COUNT(*),MAX(salary),TO_CHAR(hire_date,'yyyy')
FROM Employees
GROUP BY TO_CHAR ( hire_date,'yyyy')

11. Afisati numarul de angajati si salariul maxim pentru fiecare an in parte,


pentru anii �n
care acest numar a fost mai mare dec�t 10.

SELECT COUNT(*),MAX(salary)
FROM Employees
GROUP BY TO_CHAR ( hire_date,'yyyy')
HAVING COUNT (*) >10

12. Afisati numarul de angajati si salariul maxim pentru fiecare an in parte,


pentru anii
1993-1998.

SELECT COUNT(employee_id),MAX(salary)
FROM Employees
WHERE TO_CHAR(hire_date,'yyyy') between '1993' AND'1998'
GROUP BY TO_CHAR ( hire_date,'yyyy')

13. Afisati salariul minim si maxim pentru angajatii de tip functionar din fiecare
departament

SELECT min(salary),max(salary)
FROM Employees
WHERE job_id like '%CLERK'
GROUP BY department_id

14. Eliminati din rezultatele de la punctul anterior job-urile cu salariul maxim


sub 4000.

SELECT min(salary),max(salary)
FROM Employees
WHERE job_id like '%CLERK'
GROUP BY department_id
HAVING max(salary) > 4000

15. Afisati numarul de angajati pentru fiecare an si luna in parte.

SELECT COUNT(employee_id)
FROM Employees
GROUP BY TO_CHAR ( hire_date, 'mm,yyyy')

16. Afisati suma a doua numere introduse la momentul executiei.

SELECT &a + &b


FROM DUAL;

17. Afisati angajatii cu salariul mai mare dec�t o valoare data la momentul
executiei.

SELECT last_name, first_name


FROM Employees
WHERE salary>&val

18. Afisati angajatii al caror nume �ncepe cu o litera indicata la momentul


executiei.
SELECT last_name
FROM Employees
WHERE last_name like '&a%'

19. Afisati departamentele �n care salariul minim este mai mare dec�t o anumita
valoare

SELECT department_id, min(salary)


FROM Employees
GROUP BY department_id
HAVING min(salary) > &a

20. Afisati tarile (country_id) �n care numarul de orase este mai mare dec�t o
anumita
valoare.

SELECT country_id
FROM Locations
GROUP BY country_id
HAVING COUNT (city) > &a

21. Afisati salariul minim si salariul maxim pentru un job indicat la momentul
executiei.

SELECT job_id, min(salary), max(salary)


FROM Employees
GROUP BY job_id
HAVING job_id like '%&a%'

You might also like