Sunteți pe pagina 1din 11

Lab.

4
2. Afişaţi data ultimei angajări, salariul minim şi salariul maxim pentru fiecare
departament.
select count(employee_id),max(hire_date),max(salary)as"salariu maxim",min (salary)as"salariu
minim",department_id
from employees
group by department_id
3. Afişaţi numărul de departamente pentru fiecare locaţie. (Departments)
select location_id,count(department_id)
from departments
group by location_id
4. Afişaţi numărul de orașe distincte care sunt înregistrate pentru fiecare
țară.(Locations) Ordonați datele în funcție de numărul de orașe.
select country_id,count(city)
from locations
group by country_id
order by count(city)
5. Afişaţi 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. Afişaţi numărul de angajati cu comision pentru fiecare job.
select job_id,count(commission_pct)as"numar angajati"
from employees
group by job_id
having min(commission_pct)>0
7. Afişaţi numărul de departamente care au manager.
select count(manager_id)as"Nr dep care au manager"
from employees
8. Afişaţi media rotunjită a salariului minim pentru fiecare tip de job.
select round(avg(min(salary)))
from employees
group by job_id
9. Afişaţi salariul maxim și data primei angajări pentru fiecare departament și fiecare
job. Ordonați datele după data afișată.
select department_id,job_id,max(salary),min(hire_date)
from employees
group by department_id,job_id
order by min(hire_date)
10. Afişaţi numărul de angajaţi si salariul maxim pentru fiecare an in parte.
select count(employee_id),max(salary),to_char(hire_date,'yyyy')as"ANUL"
FROM EMPLOYEES
group by to_char(hire_date,'yyyy')
11. Afişaţi numărul de angajaţi si salariul maxim pentru fiecare an in parte, pentru
anii în care acest număr (numarul de angajati) a fost mai mare decât 10.
select count(employee_id),max(salary),to_char(hire_date,'yyyy')as"ANUL"
FROM EMPLOYEES
group by to_char(hire_date,'yyyy')
having count(employee_id)>10
12. Afişaţi numărul de angajaţi si salariul maxim pentru fiecare an in parte, pentru
anii 1993-1998.
select to_char(hire_date,'yyyy'),max(salary),count(employee_id)
from employees
where to_char(hire_date,'yyyy') between 1993 and 1998
group by to_char(hire_date,'yyyy')
13. Afișați salariul minim și maxim pentru angajatii de tip funcționar din fiecare
departament.
SELECT MAX(salary),MIN(salary),job_id
FROM Employees
group by job_id
having job_id like '%clerk';
14. Eliminați din rezultatele de la punctul anterior job-urile cu salariul maxim sub
4000.
SELECT MAX(salary),MIN(salary),job_id
FROM Employees
group by job_id
having job_id like '%clerk' and max(salary)>4000
15. Afisati numarul de angajati pentru fiecare an si luna in parte.
select to_char(hire_date,'yyyy'),to_char(hire_date,'month'),count(employee_id)
from employees
group by to_char(hire_date,'yyyy'),to_char(hire_date,'month')

Lab.5
1. Afișați numele, numărul și numele job-ului pentru toti angajații.
select last_name , employee_id, job_title
from employees e , jobs j
where e.job_id=j.job_id
2. Afișați numele, numărul și numele job-ului pentru toti angajații cu job-ul
Programmer.
select last_name , employee_id, job_title
from employees e , jobs j
where e.job_id=j.job_id and job_title like'%Programmer'
3. Afișați numele angajaților, numele departamentului în care lucrează și numele job-
ului.
select first_name,last_name ,department_name ,job_title
from employees e, departments d, jobs j
where e.job_id=j.job_id and e.department_id=d.department_id
4. Scrieti o cerere care sa intoarca numele, numarul și numele departamentului și job-
ul tuturor celor care lucreaza în Seattle.
select first_name , department_name , job_title
from employees e, departments d, jobs j , locations l
where e.job_id=j.job_id and e.department_id=d.department_id and
d.location_id=l.location_id and city in'Seattle'
5. Afișați toate locațiile (orașul și țara) din Europa.
select l.country_id,l.city,c.country_name
from countries c, locations l
where c.region_id='1'and c.country_id=l.country_id
6. Afișați numele departamentelor din Canada.
select department_name
from departments d, locations l
where d.location_id=l.location_id and l.country_id='CA'
7. Afișați numele departamentelor, numărul de angajați și salariul mediu pentru
fiecare departament.
select department_name ,count(employee_id), round(avg(salary))
from employees e, departments d
where e.department_id=d.department_id
group by department_name ,e.department_id
8. Gasiti care sunt numele acelor departamente în care salariul maxim este mai mare
dacat 10000.
select department_name , max(salary)
from employees e, departments d
where e.department_id=d.department_id
group by department_name
having max(salary)>10000
9. Afisati numarul de tari care sunt inregistrate pentru fiecare regiune.
select count(country_name), region_id
from countries c, locations l
where c.country_id=l.country_id
group by region_id
10. Afisati numele job-urilor, salariul mediu pentru fiecare si nr de angajati pentru
job-urile de vanzari (Sales).
select job_title,round(avg(salary)),count(employee_id)
from employees e , jobs j
where e.job_id=j.job_id and job_title like 'Sales%'
group by job_title
11. Scrieți o interogare care afișează numele și job-ul angajaților care lucrează în
același departament cu angajatul cu numele Luis Popp.
select e1.first_name,e1.last_name , j.job_title , e1.department_id
from employees e, employees e1,jobs j
where e.first_name='Luis' and e.last_name='Popp' and
e.department_id=e1.department_id
12. Scrieti o interogare care sa afiseze numele și identificatorii angajatilor precum și
numele și identificatorul managerului caruia ii este subordonat fiecare. Etichetati
coloanele astfel: "Angajat"," Marca_ang"," Manager", " Marca_man". Salvati
interogarea intr-un script.
select concat(concat(e.first_name,' '),e.last_name)as"Angajat",e.employee_id as
"Marca_ang",concat(concat(e1.first_name ,'
'),e1.last_name)as"Manager",e.manager_id as"Marca_man"
from employees e , employees e1
where e.employee_id=e1.employee_id
order by e1.manager_id
13. Gasiti numele și salariul fiecarui angajat care este subordonat managerului cu
numele King.
select concat(concat (e.first_name , ' '),e.last_name)as"Angajat" ,e.salary
from employees e, employees e1
where e1.employee_id=e.manager_id and e1.last_name like 'King%'
14. Creaţi o interogare care are ca rezultat afişarea locației (id și oraș) şi a numelui
departamentelor. Includeţi toate locațiile, chiar dacă nu există niciun departament
corespunzător.
select l.location_id,l.city, d.department_name
from locations l , departments d
where d.location_id(+)=l.location_id
15. Creaţi o interogare care afişează numele țărilor și orașelor. Includeţi toate țările,
chiar dacă nu există niciun oraș corespunzător în tabelul locations.
select l.city,c.country_name
from locations l , countries c
where l.country_id(+)=c.country_id
Lab6.
1. Afișați angajații care au același job cu Luis Popp.
SELECT last_name, first_name, job_id
FROM Employees
WHERE job_id in
(SELECT job_id
FROM Employees
WHERE first_name='Luis' and last_name='Popp')
2. Afișați angajații care s-au angajat la aceeași dată cu Luis Popp sau după acesta.
SELECT concat(concat(last_name,' '), first_name)as "Nume angajat",
job_id,hire_date
FROM Employees
WHERE hire_date>=(select hire_date from employees where first_name='Luis'
and last_name='Popp')
3. Afișați angajații care câștigă mai mult decât oricare funcționar (CLERK).
SELECT last_name, first_name , employee_id, salary
FROM Employees
WHERE salary>ALL
(SELECT salary
FROM Employees
WHERE job_id LIKE ‘%CLERK’)
4. Afișați numele departamentelor din Seattle.
select department_name
from departments
where location_id=(select location_id from locations where city ='Seattle')
5. Afișați numele departamentelor aflate în aceeași locație cu departamentul
Finance.
select department_name
from departments
where location_id=(select location_id from departments where
department_name='Finance')
6. Afișați angajații care lucrează într-un departament cu măcar un angajat al cărui
nume începe cu litera A.
select*
from employees
where department_id in(select department_id from departments where
first_name like '%A')
7. Afișați angajații care au subordonați (sunt manageri).
select *
from employees
where employee_id in (select manager_id from employees where
manager_id=employees.employee_id);
8. Afișați angajații care nu au subordonați (nu sunt manageri).
select *
from employees
where employee_id not in(select manager_id from employees where
manager_id is not null)
9. Afișați locațiile în care nu există niciun departament.
select *
from locations
where location_id not in (select location_id from departments where location_id
is not null )
10. Afișați numele, data angajarii (hire_date) si salariul pentru toti angajatii care au
acelasi salariu si comision precum Kochhar.
select first_name,last_name,hire_date , salary
from employees
where salary = (select salary from employees where last_name='Kochhar') and
nvl(commission_pct,0)=(select nvl(commission_pct,0)from employees where
last_name in 'Kochhar')
11.Găsiţi numele pentru toţi angajaţii ale căror salarii sunt aceleaşi cu salariul
minim din oricare departament.
select last_name ,salary
from employees
where salary=(select min(salary) from employees )

Lab7.
Scrieţi un script care să permită crearea tabelelor corespunzătoare următoarei scheme
relaţionale:
Masini_id (IdMasina, datafabric, IdCompanie, IdCuloare, model, pret,
capacCilindrica, consum, IdCombustibil)
COMPANII_id (IdCompanie, numecomp, email, telefon, adresa)
CULORI_id (IdCuloare, cod, denumire, metalizat)
COMBUSTIBILI_id( IdCombustibil, nume)
OBSERVATIE: Sufixul id adăugat numelor de tabele va fi un şir de caractere
care să identifice obiectul creat de fiecare dintre dumneavoastră.
???? De ce este necesară această identificare????
Pentru siguranţă începeţi scriptul prin comenzi de ştergere a tabelelor.
Rezolvare
--COMPANII_Id (IdCompanie, numecomp, email, telefon, adresa)
create table Companii_Id
(
IdCompanie number(10) not null primary key,
numecomp varchar2(20) unique,
email varchar2(20),
telefon number(12)
constraint ck_telefon123 check(telefon>0),
adresa varchar2(50)
);
--CULORI_Id (IdCuloare, cod, denumire, metalizat)
create table Culori_Id
(
IdCuloare number(10) not null primary key,
cod varchar2(10) not null unique,
denumire varchar2(20)
);
--COMBUSTIBILI_Id (IdCombustibil, nume)
create table Combustibili_Id
(
IdCombustibil number(10,2) not null primary key,
nume varchar(2) not null
);
--MASINI_Id (IdMasina, datafabric, IdCompanie, IdCuloare, model, pret,capacCilindrica,
consum, IdCombustibil)
create table Masini_Id
(
IdMasina number(10) not null primary key,
datafabric date default sysdate,
IdCompanie number(10)
constraint nn_masini_id_comp not null
constraint fk_masini_id_comp references Companii_Id(IdCompanie),
IdCuloare number(10)
constraint nn_masini_id_culoareid not null
constraint fk_masini_id1_culoareid references Culori_Id(IdCuloare),
model varchar2(10),
pret number(4)
constraint ck_pret123 check(pret>0),
capacCilindrica number(5),
consum number(5,2),
IdCombustibil number(10,2)
constraint nn_masini_id_combid not null
constraint fk_masini_id_combid references Combustibili_Id(IdCombustibil)
);
Scripturi inserare date in tabelul Companii_Id.
CREATE SEQUENCE companii_Id_seq; -- se executa o singura data odata cu crearea tabelelor
INSERT INTO Companii_Id (idComp, nume, email, telefon, adresa)
VALUES (companii_Id_seq.NEXTVAL, 'Sony', 'sales@sony.com', 123456, 'US')

--cand sunt specificate valori pentru toate coloanele din tabel, lista de coloane nu este
obligatorie
INSERT INTO Companii_Id
VALUES (companii_Id_id_seq.NEXTVAL, 'BMW', 'sales@bmw.com', 123456, 'DE')

S-ar putea să vă placă și

  • Lab5 Rezolvare
    Lab5 Rezolvare
    Document3 pagini
    Lab5 Rezolvare
    Cosmin
    Încă nu există evaluări
  • BD Lab4
    BD Lab4
    Document4 pagini
    BD Lab4
    Cosmin
    Încă nu există evaluări
  • Seminar 7-Exercitii II - Cu Rez
    Seminar 7-Exercitii II - Cu Rez
    Document2 pagini
    Seminar 7-Exercitii II - Cu Rez
    Pepene Mihai Alin
    Încă nu există evaluări
  • Seminar 7-Exercitii II - Cu Rez
    Seminar 7-Exercitii II - Cu Rez
    Document2 pagini
    Seminar 7-Exercitii II - Cu Rez
    CristinaRăileanu
    Încă nu există evaluări
  • Tema 2-BD
    Tema 2-BD
    Document9 pagini
    Tema 2-BD
    Georgiana Mangiru
    Încă nu există evaluări
  • Exercitii Recapitulative S 8
    Exercitii Recapitulative S 8
    Document2 pagini
    Exercitii Recapitulative S 8
    Stănescu Mihaela
    Încă nu există evaluări
  • Angajati, Departamente
    Angajati, Departamente
    Document2 pagini
    Angajati, Departamente
    Andreea Ionela
    Încă nu există evaluări
  • Laborator5 SQL An2
    Laborator5 SQL An2
    Document10 pagini
    Laborator5 SQL An2
    Diana Iagar
    Încă nu există evaluări
  • Exercitii Rezolvate Baze de Date SQL
    Exercitii Rezolvate Baze de Date SQL
    Document5 pagini
    Exercitii Rezolvate Baze de Date SQL
    Florentin Mitan
    100% (2)
  • Lab 4
    Lab 4
    Document6 pagini
    Lab 4
    Cristi Teodorescu
    Încă nu există evaluări
  • BD Rez
    BD Rez
    Document28 pagini
    BD Rez
    meredith14
    Încă nu există evaluări
  • Laborator 11
    Laborator 11
    Document6 pagini
    Laborator 11
    Gheorghe Elena
    Încă nu există evaluări
  • Test
    Test
    Document11 pagini
    Test
    Sergiu Merticariu
    Încă nu există evaluări
  • Laborator SQL 1
    Laborator SQL 1
    Document5 pagini
    Laborator SQL 1
    mihaicioby
    Încă nu există evaluări
  • BD Lab2
    BD Lab2
    Document4 pagini
    BD Lab2
    Cosmin
    Încă nu există evaluări
  • l3 Ex
    l3 Ex
    Document3 pagini
    l3 Ex
    Cosmin
    Încă nu există evaluări
  • Tema Baze de Date
    Tema Baze de Date
    Document7 pagini
    Tema Baze de Date
    mateidlv28
    Încă nu există evaluări
  • Exemple de Fraze SQL
    Exemple de Fraze SQL
    Document5 pagini
    Exemple de Fraze SQL
    Mihaela Voican
    Încă nu există evaluări
  • Lab04 BD 2016
    Lab04 BD 2016
    Document7 pagini
    Lab04 BD 2016
    Cosmin
    Încă nu există evaluări
  • Create Database Firma
    Create Database Firma
    Document11 pagini
    Create Database Firma
    Andrei Gee
    Încă nu există evaluări
  • BD-S6 Functii
    BD-S6 Functii
    Document6 pagini
    BD-S6 Functii
    Alexandra Dobre
    Încă nu există evaluări
  • Seminar 7-Exercitii II
    Seminar 7-Exercitii II
    Document1 pagină
    Seminar 7-Exercitii II
    malesstefanmarian
    Încă nu există evaluări
  • Exemple
    Exemple
    Document2 pagini
    Exemple
    Popescu Gabriel
    Încă nu există evaluări
  • Laborator 9
    Laborator 9
    Document6 pagini
    Laborator 9
    Virgil Ionut Filotie
    Încă nu există evaluări
  • BDseminar12 REZOLVAT
    BDseminar12 REZOLVAT
    Document3 pagini
    BDseminar12 REZOLVAT
    Stefania
    67% (3)
  • Seminar 7
    Seminar 7
    Document2 pagini
    Seminar 7
    mateidlv28
    Încă nu există evaluări
  • 6 Instrucțiunea SELECT În MySQL
    6 Instrucțiunea SELECT În MySQL
    Document34 pagini
    6 Instrucțiunea SELECT În MySQL
    Caldarov Dan
    Încă nu există evaluări
  • Seminar 6 Functii - ASE
    Seminar 6 Functii - ASE
    Document5 pagini
    Seminar 6 Functii - ASE
    malesstefanmarian
    Încă nu există evaluări
  • BDseminar 6
    BDseminar 6
    Document6 pagini
    BDseminar 6
    Romeo Moruz
    Încă nu există evaluări
  • lab4
    lab4
    Document1 pagină
    lab4
    Iustin Ivan
    Încă nu există evaluări
  • Laborator 4
    Laborator 4
    Document5 pagini
    Laborator 4
    Amza
    Încă nu există evaluări
  • Seminar 7-Exercitii II
    Seminar 7-Exercitii II
    Document1 pagină
    Seminar 7-Exercitii II
    Mara
    Încă nu există evaluări
  • Seminar 7-Exercitii II
    Seminar 7-Exercitii II
    Document1 pagină
    Seminar 7-Exercitii II
    Mara
    Încă nu există evaluări
  • Rezolvari
    Rezolvari
    Document4 pagini
    Rezolvari
    berserk217
    Încă nu există evaluări
  • Laborator Proiectare Baze Date ACE Craiova PDF
    Laborator Proiectare Baze Date ACE Craiova PDF
    Document5 pagini
    Laborator Proiectare Baze Date ACE Craiova PDF
    Ionelia Radu
    Încă nu există evaluări
  • Sisteme Informatice de Gestiune - Teste Grila + Raspunsuri
    Sisteme Informatice de Gestiune - Teste Grila + Raspunsuri
    Document12 pagini
    Sisteme Informatice de Gestiune - Teste Grila + Raspunsuri
    Alina Mîțoc
    100% (1)
  • Subiecte ORACLE
    Subiecte ORACLE
    Document6 pagini
    Subiecte ORACLE
    adelailas
    Încă nu există evaluări
  • Ilovepdf Merged
    Ilovepdf Merged
    Document97 pagini
    Ilovepdf Merged
    Andrei Pavel
    Încă nu există evaluări
  • Lab 5 Continuare
    Lab 5 Continuare
    Document2 pagini
    Lab 5 Continuare
    Ionut Alexandru
    Încă nu există evaluări
  • tema2
    tema2
    Document8 pagini
    tema2
    stoicaalexandru22
    Încă nu există evaluări
  • Fisa de Lucru-2
    Fisa de Lucru-2
    Document2 pagini
    Fisa de Lucru-2
    Elena Sorina
    Încă nu există evaluări
  • PCLP Laborator 5 PDF
    PCLP Laborator 5 PDF
    Document18 pagini
    PCLP Laborator 5 PDF
    Iordache Alex
    Încă nu există evaluări
  • Laborator 8
    Laborator 8
    Document7 pagini
    Laborator 8
    neagoe100
    Încă nu există evaluări
  • Seminar 5 Interogari Jonctiuni - ASE
    Seminar 5 Interogari Jonctiuni - ASE
    Document4 pagini
    Seminar 5 Interogari Jonctiuni - ASE
    Flavius Andrei
    Încă nu există evaluări
  • Exercitii Interogari Partea I
    Exercitii Interogari Partea I
    Document2 pagini
    Exercitii Interogari Partea I
    pupu76
    Încă nu există evaluări
  • Laborator SQL 5 - Partea 2 PDF
    Laborator SQL 5 - Partea 2 PDF
    Document6 pagini
    Laborator SQL 5 - Partea 2 PDF
    Bogdan-Mihai Tabacu
    Încă nu există evaluări
  • BDA Curs1
    BDA Curs1
    Document93 pagini
    BDA Curs1
    Tibi
    Încă nu există evaluări
  • MYSQL Practice
    MYSQL Practice
    Document13 pagini
    MYSQL Practice
    Aur
    Încă nu există evaluări
  • SGBDseminar 5
    SGBDseminar 5
    Document6 pagini
    SGBDseminar 5
    Melisa Musledin
    Încă nu există evaluări
  • CODURI
    CODURI
    Document22 pagini
    CODURI
    Ilie Adriana-Sinziana
    Încă nu există evaluări
  • SQL BD
    SQL BD
    Document11 pagini
    SQL BD
    Tiberiu Stan
    Încă nu există evaluări
  • Lab 3 - Clase, Constr, Destr
    Lab 3 - Clase, Constr, Destr
    Document2 pagini
    Lab 3 - Clase, Constr, Destr
    Alex Grama
    Încă nu există evaluări
  • SGBD Proiect
    SGBD Proiect
    Document21 pagini
    SGBD Proiect
    Radu Negreanu
    Încă nu există evaluări
  • Toate Testele BD
    Toate Testele BD
    Document108 pagini
    Toate Testele BD
    Teodora Sorescu
    Încă nu există evaluări
  • Doc
    Doc
    Document1 pagină
    Doc
    Andrei Gee
    Încă nu există evaluări
  • Poo Baltoi
    Poo Baltoi
    Document20 pagini
    Poo Baltoi
    AndreeaPopescu
    Încă nu există evaluări