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

create database bib;

create table client(codeclient nom prenom ville

create table livre(reflivre titre auteurs dateachat


titre
auteurs
dateachat

create table emprunt(numero dateemprunt dateretour codecl reflv


dateemprunt
dateretour
codecl
reflv
foreign key(codecl) references client(codeclient),
foreign key(reflv) references livre(reflivre));

100 mabrouk sara casablanca


101 hanine abdlallah casablanca
102 malouwi samid rabat
103 waddad fatima settat
104 wa3nnabi mohamed agadir

1299 comment se faire des amis dale carnegie 10/01/2010


2944 les robots asimov 30/03/1999
4892 ubik k.dick 20/02/1989
3788 ravage barjavel 30/05/1998
6666 la fin de l éternité asimov 12/06/2012

200 10/10/2016 20/10/2016 104 1299


201 30/03/2017 10/04/2017 100 3788
202 20/10/2022 NULL 101 1299
203 18/09/2016 30/09/2016 104 6666
204 27/03/2015 10/04/2015 102 2944
205 07/02/2017 20/02/2017 100 3788

select * from client;


select * from livre;
select nom,prenom from client;
select * from client where ville='casablanca' or ville='settat';
select * from livre where auteurs='asimov';
select * from livre where nom like 'w%';
select * from livre order by titre;
select prenom,ville from client where nom='waddad';

select * from client where codeclient>102;

select * from client where nom <>'hanine';

select auteurs from livre where titre like 'l%t%';

select * from emprunt where dateemprunt between '1/10/2016' and '30/12/2022';

select * from livre where dateachat between '1/03/1985' and '01/03/2000' order by
auteurs DESC;

select * from emprunt where extract(year from dateemprunt )=2017;

select * from emprunt where extract(month from dateemprunt )=3;

select current_date;

select * from emprunt where extract(year from dateemprunt )=extract(year from


current_date );

select reflivre,titre,auteurs from livre,emprunt where reflivre=reflv and


dateretour is null;

select nom,numero,dateemprunt,dateretour from client,emprunt where


codeclient=codecl and nom='wa3nnabi';

select emprunt.* from livre,emprunt where reflivre=1299 and reflivre=reflv;

select client.*,numero from client,emprunt count(numero) as nombre_emprunt where


codeclient=codecl group by codeclient;

update client set nom ='Mahfoud',prenom = 'Ali' where codeclient=101;

update livre set dateachat ='20/02/2018' where titre = 'comment se faire amis';

alter table client add age varchar(10);


select * from client;

alter table client alter column age type int using age::integer;
select * from client;

alter table client drop age;


select * from client;
*

create database gestion_notes;


create table etudiant (codeetudiant integer primary key,
nom varchar(20),
prenom varchar(20),
ville varchar(20));
create table matiere (codematiere integer primary key,
libelle_matiere varchar(20),
coef_matiere integer);
create table evaluer (codeetu integer,
codemat integer,
date date,
note integer,
primary key(codeetu,codemat),
foreign key(codeetu) references
etudiant(codeetudiant),
foreign key(codemat) references
matiere(codematiere));

insert into etudiant values(100,'mabrouk','amal','oujda'),


(101,'waddad','fatima','casablanca'),
(102,'hannine','abdelallah','fes'),
(103,'balouwi','samid','tanger'),
(104,'berrada','mohamed','casablanca'),
(105,'beniss','reda','agadir');
insert into matiere values(2900,'math',2),
(2901,'informatique',4),
(2902,'electronique',5),
(2903,'electricite',5),
(2904,'algorithmique',3),
(2905,'programmation',2),
(2906,'automatisme',5);
insert into evaluer values (103,2902,'2022-06-20',16),
(104,2903,'2022-01-21',20),
(105,2903,'2020-06-20',10),
(102,2905,'2020-05-23',14),
(100,2904,'2021-02-24',17),
(104,2902,'2020-06-20',19),
(103,2904,'2020-02-26',14),
(105,2905,'2021-03-30',13);
alter table matiere alter column coef_matiere type integer;
select count(codeetudiant) from etudiant as nbr_etudiant;
select * from evaluer where extract (year from date)=2020 or extract (year from
date)=2021;
select * from evaluer where extract(month from date)=6 order by note;
select max(note) as note_maximal,min(note) as note_minimal from evaluer;
select * from matiere where libelle_matiere like '_l%e'
select codeetudiant,UPPER(nom) as nom_maj from etudiant;
select codematiere,UPPER(libelle_matiere) as mat_maj from matiere;
select evaluer.*,nom from evaluer inner join etudiant on codeetu=codeetudiant where
nom='berrada';
select matiere.libelle_matiere,coef_matiere,evaluer.* from matiere,evaluer where
codemat=codematiere and date='2020_06_20';
select etudiant.*,note from etudiant,evaluer where codeetu=codeetudiant and note <>
19 and note <> 20;
select matiere.*, count(codemat) as nbr_evaluation from matiere,evaluer where
codemat=codematiere group by(codematiere);
select etudiant.*,cast(sum(note * coef_matiere) as real) /sum(coef_matiere) from
etudiant,matiere,evaluer
where codeetu=codeetudiant and codemat=codematiere group by(codeetudiant);
update matiere set libelle_matier='PHYSIQUE' coef_matier=4 where codematiere=2904;
update evaluer set note=note+1;
alter table etudiant alter column ville type varchar(50);
alter table evaluer_test drop date;
delete from evaluer_test where note < 17;
drop table evaluer_test;

You might also like