Professional Documents
Culture Documents
--Les insertions
insert into deals values ('Square Optical L''Aouina : Un bon d''achat de valeur de
250 DT', 'L''offre comprend: - Un bon d''achat de valeur de 250 DT - 30% de r?
duction sur tout achat des lentilles de couleur', 250,60, to_date('12/10/2016
9','dd/mm/yyyy hh'), 5, 2,'NON',null, 'Square Optical L''Aouina');
insert into deals values ('Le Parador la Goulette : un menu de d?jeuner ou de d?ner
? partir de 49 DT Seulement', 'L''offre vous propose des mets qui vont vous ouvrir
l''app?tit et donner ? vos papilles de grandes envies! Choisissez l''offre qui vous
convient...',131,63,to_date('10/10/2016 9','dd/mm/yyyy hh'),3,5,'NON',null, 'Le
Parador la Goulette');
insert into achats values ('Square Optical L''Aouina : Un bon d''achat de valeur de
250 DT','Hello2017', 2, to_date('13/10/2016 15/10','dd/mm/yyyy hh24/mi'));
insert into achats values ('Square Optical L''Aouina : Un bon d''achat de valeur de
250 DT','Ahmed1617', 4, to_date('14/10/2016 10/03','dd/mm/yyyy hh24/mi'));
insert into achats values ('Square Optical L''Aouina : Un bon d''achat de valeur de
250 DT','Daddou123', 3, to_date('12/10/2016 11/00','dd/mm/yyyy hh24/mi'));
insert into achats values ('Le Parador la Goulette : un menu de d?jeuner ou de d?
ner ? partir de 49 DT Seulement','Hello2017', 5, to_date('12/10/2016
14/05','dd/mm/yyyy hh24/mi'));
commit;
select
employees.*,
extract(year from hire_date) Annee,
to_char(hire_date,'q') Trimestre,
case(to_char(hire_date,'q'))
when '1' then 1
when '2' then 1
else 2
end Semestre
from employees
order by extract(year from hire_date) desc;
--6-aAfficher la somme des nombres de mois travaill�s par tous les
employ�s de chacun des
d�partements. (arrondir la valeur obtenue � 2 chiffres apr�s la virgule)
- Afficher la somme + la colonne Department_id
select
E.*,
job_title
from
employees E
join
Jobs J
on E.job_id=J.job_id;
--avec SousRequete
select
E.*,
(
select job_title
from Jobs
where job_id=E.job_id
)
from employees E;
select *
from employees
where
manager_id=
(
select manager_id
from employees
where upper(last_name)='JONES'
)
and upper(last_name)!='JONES';
select *
from employees
where salary=(select min(salary)from employees);
*/
/***BONUS***
--Q1:nbr Total d'employ�s
-select destinct
SELECT DISTINCT(commission_pct)
FROM employees;
--ajouter un mois
add_months(to_date ('2012/03/01', 'yyyy/mm/dd'),3) "ajouter 3 mois"
--Afficher la liste des employ�s, leur nom, pr�nom et salaire.
Cette liste doit �tre
num�rot�e pour chaque d�partement et selon un ordre descendant du salaire.
(Comparez entre les diff�rentes fonctions de num�rotation
--
select department_name,last_name,first_name
from employees E
left join departments D
on E.department_id=D.department_id;
from employees E;
select *
from employees E
where
salary <(
select avg(salary)
from employees
where department_id=E.department_id
);
*/
--13-a(fix it)
--13-b
select *
from employees E
where salary<(select avg(salary)from employees where
department_id=E.department_id);
select *
from employees
where salary>(select max(salary) from employees where job_id='SA_MAN');
--1Afficher la liste des employ�s qui n�ont pas de commission.
Cette liste doit �tre
ordonn�e selon un ordre descendant de leur nom.
select *
from employees
where commission_pct is NULL
order by last_name desc;
select department_id,
round (avg(salary),2) moy
from employees
group by department_id;
create view v1
as select first_name,last_name
from employees
with read only;
create view v2
as select *
from employees
where department_id=60
with check option;
select extract (day from date_d ) jour ,extract (month from date_d ) mois,
to_char(date_d,'hh') heure,prix_i,prix_i-prix_i*reduction "prix reduction" from
deals;