Vous êtes sur la page 1sur 29

Tous les exemples:Hotel SQL

Exemples:Hotel SQL_______________________________________________________________ 1
Instance de CHAMBRES __________________________________________________________2
Instance de CLIENTS _____________________________________________________________ 3
Instance de RESERVATIONS ______________________________________________________5
Les chambres avec bain et TV _______________________________________________________ 6
les numéros des chambres et leur capacité _____________________________________________ 7
Le nom des clients ayant réservé une chambre pour le 25-12-89 ___________________________8
Le nom des clients et le confort des chambres qu'ils ont réservées __________________________9
la capacité théorique d'acceuil de l'hôtel ______________________________________________ 10
prix par personne des chambres ____________________________________________________ 11
toutes les informations sur les clients et leurs réservations _______________________________ 12
comparaison arithmétique: prix de la chambre moins de 120 francs_______________________ 13
comparaison ensembliste: chambre avec un moyen de se laver ___________________________ 14
comparaison "chablon": nom de client commençant par "DU" __________________________15
comparaison "chablon": nom de client en 5 lettres avec un "U" en 2ième position __________16
comparaison intervalle: prix de la chambre entre 85 et 120 francs_________________________ 17
Le nom des clients n'ayant pas annoncé de date de départ_______________________________ 18
connecteurs logiques: les chambres coûtants au max. 80 francs ou ayant un bain et valant au
max. 120 ________________________________________________________________________ 19
Instance de EMP _________________________________________________________________ 20
Exists: qui est chef ? ______________________________________________________________ 21
Any: qui est chef d'un employé mieux payé que lui-même? ______________________________ 22
All: Chef "absolu" aucun employé mieux payé que lui-même ? __________________________23
sous requête: prix moyen des chambres ayant le même confort que celle du client "DUFOUR"24
group by: prix moyen des chambres par type de confort ________________________________ 25
group by: prix minimum et maximum des chambres par type de confort __________________26
group by: prix minimum et maximum des chambres par type de confort ou min<100________27
connect by: liste des personnes par ordre hiérarchique__________________________________ 28
Order by: liste des clients par nom __________________________________________________ 29
Instance de CHAMBRES
NUM_CHAMBRE PRIX NBR_LITS NBR_PERS CONFOR EQU
----------- ---------- ---------- ---------- ------ ---
10 80 1 2 WC NON
20 80 1 2 WC NON
30 80 1 2 WC NON
40 80 1 2 WC NON
11 90 2 2 WC NON
21 90 2 2 WC NON
31 90 2 2 WC NON
41 90 2 2 WC NON
12 100 2 2 DOUCHE NON
22 100 2 2 DOUCHE NON
32 100 2 2 DOUCHE NON
42 100 2 2 DOUCHE NON
13 120 1 2 BAIN NON
23 120 1 2 BAIN NON
33 120 1 2 BAIN NON
43 120 1 2 BAIN NON
14 140 2 2 BAIN TV
24 140 2 2 BAIN TV
34 140 2 2 BAIN TV
44 140 2 2 BAIN TV
15 180 3 4 BAIN TV
25 180 3 4 BAIN TV
35 180 3 4 BAIN TV
45 180 3 4 BAIN TV

24 records selected.

1* select * from CHAMBRES


Instance de CLIENTS
NUM_CLIENT NOM PRENOM ADRESSE
---------- -------------------- -------------------- ----------------------------------------
1000 GASCON GASTON 12 av. du Général 1239 ICI
1001 DUPONT PIERRE 12 ch. des hirondelles 1238 LABAS
1002 DUFOUR JEAN 10 av. de la gar 1300 AILLEURS
1003 ZORO DIEGO 10 ch des voleurs Los Angeles
1004 EINSTEIN ALBERT 10 route de la relativité 1004 PLUS-LOIN
1005 DUMAS ALEXANDRE 10 route du moulins LE-SUD
1007 NOBODY FRANCOISE 403 route de l inconnu 75000 Paris
1006 ROMULUS BERNADETTE 241 route de rome 1409 Lion
1009 AGDA BRUNO 10 route de l impossible 1508 TEXAS
1008 CHADOK AMELIE 25 rue de la rame 1456 Tombouctou

10 records selected.

1* select * from CLIENTS


Instance de RESERVATIONS
NUM_CLIENT NUM_CHAMBRE DATE_ARR DATE_DEP
---------- ----------- --------- ---------
1000 11 11-JAN-90 15-JAN-90
1001 21 10-JAN-90
1002 34 20-DEC-89 27-DEC-89
1003 44 24-DEC-89 27-DEC-89
1005 45 23-DEC-89 28-DEC-89
1006 14 01-DEC-89 28-DEC-89
1007 23 01-DEC-89 02-DEC-89
1007 23 08-DEC-89 09-DEC-89
1007 23 15-DEC-89 16-DEC-89
1007 23 22-DEC-89 23-DEC-89
1007 23 29-DEC-89 30-DEC-89

11 records selected.

1* select * from RESERVATIONS


Les chambres avec bain et TV
NUM_CHAMBRE PRIX NBR_LITS NBR_PERS CONFOR EQU
----------- ---------- ---------- ---------- ------ ---
14 140 2 2 BAIN TV
24 140 2 2 BAIN TV
34 140 2 2 BAIN TV
44 140 2 2 BAIN TV
15 180 3 4 BAIN TV
25 180 3 4 BAIN TV
35 180 3 4 BAIN TV
45 180 3 4 BAIN TV

8 records selected.

1 select * from CHAMBRES


2* where confort='BAIN' and equipement='TV'
les numéros des chambres et leur
capacité
NUM_CHAMBRE NBR_PERS
----------- ----------
10 2
20 2
30 2
40 2
11 2
21 2
31 2
41 2
12 2
22 2
32 2
42 2
13 2
23 2
33 2
43 2
14 2
24 2
34 2
44 2
15 4
25 4
35 4
45 4

24 records selected.

1* select Num_chambre,nbr_pers from CHAMBRES


Le nom des clients ayant réservé
une chambre pour le 25-12-89
NOM
--------------------
DUFOUR
ZORO
DUMAS
ROMULUS

1 select Nom from CLIENTS,RESERVATIONS


2 where Date_Arr<=to_date('25-dec-89')
3 and Date_Dep> to_date('25-dec-89')
4* and Clients.num_client=Reservations.num_client
Le nom des clients et le confort des
chambres qu'ils ont réservées
NOM CONFOR
-------------------- ------
GASCON WC
ROMULUS BAIN
DUPONT WC
NOBODY BAIN
NOBODY BAIN
NOBODY BAIN
NOBODY BAIN
NOBODY BAIN
DUFOUR BAIN
ZORO BAIN
DUMAS BAIN

11 records selected.

1 select Nom, Confort from CHAMBRES, CLIENTS,


RESERVATIONS
2 where Clients.num_client=Reservations.num_client
3* and Chambres.num_chambre=Reservations.num_chambre
la capacité théorique d'acceuil de
l'hôtel
SUM(NBR_PERS)
-------------
56

1* select sum(nbr_pers) from CHAMBRES


prix par personne des chambres
NUM_CHAMBRE PRIX_PAR_PERS
----------- -------------
10 40
20 40
30 40
40 40
11 45
21 45
31 45
41 45
12 50
22 50
32 50
42 50
13 60
23 60
33 60
43 60
14 70
24 70
34 70
44 70
15 45
25 45
35 45
45 45

24 records selected.

1* select num_chambre, prix/nbr_pers prix_par_pers from


CHAMBRES
toutes les informations sur les
clients et leurs réservations
NUM_CLIENT NOM PRENOM ADRESSE
---------- -------------------- -------------------- ----------------------------------------
NUM_CHAMBRE PRIX NBR_LITS NBR_PERS CONFOR EQU DATE_ARR DATE_DEP
----------- ---------- ---------- ---------- ------ --- --------- ---------

1000 GASCON GASTON 12 av. du Général 1239 ICI


11 90 2 2 WC NON 11-JAN-90 15-JAN-90

1006 ROMULUS BERNADETTE 241 route de rome 1409 Lion


14 140 2 2 BAIN TV 01-DEC-89 28-DEC-89

1001 DUPONT PIERRE 12 ch. des hirondelles 1238 LABAS


21 90 2 2 WC NON 10-JAN-90

1007 NOBODY FRANCOISE 403 route de l inconnu 75000 Paris


23 120 1 2 BAIN NON 01-DEC-89 02-DEC-89

1007 NOBODY FRANCOISE 403 route de l inconnu 75000 Paris


23 120 1 2 BAIN NON 29-DEC-89 30-DEC-89

1007 NOBODY FRANCOISE 403 route de l inconnu 75000 Paris


23 120 1 2 BAIN NON 08-DEC-89 09-DEC-89

1007 NOBODY FRANCOISE 403 route de l inconnu 75000 Paris


23 120 1 2 BAIN NON 15-DEC-89 16-DEC-89

1007 NOBODY FRANCOISE 403 route de l inconnu 75000 Paris


23 120 1 2 BAIN NON 22-DEC-89 23-DEC-89

1002 DUFOUR JEAN 10 av. de la gar 1300 AILLEURS


34 140 2 2 BAIN TV 20-DEC-89 27-DEC-89

1003 ZORO DIEGO 10 ch des voleurs Los Angeles


44 140 2 2 BAIN TV 24-DEC-89 27-DEC-89

1005 DUMAS ALEXANDRE 10 route du moulins LE-SUD


45 180 3 4 BAIN TV 23-DEC-89 28-DEC-89

11 records selected.

1 select CLIENTS.*,CHAMBRES.*, date_arr, date_dep


2 from CHAMBRES, CLIENTS, RESERVATIONS
3 where Clients.num_client=Reservations.num_client
4* and Chambres.num_chambre=Reservations.num_chambre
comparaison arithmétique: prix de la
chambre moins de 120 francs
NUM_CHAMBRE PRIX NBR_LITS NBR_PERS CONFOR EQU
----------- ---------- ---------- ---------- ------ ---
10 80 1 2 WC NON
20 80 1 2 WC NON
30 80 1 2 WC NON
40 80 1 2 WC NON
11 90 2 2 WC NON
21 90 2 2 WC NON
31 90 2 2 WC NON
41 90 2 2 WC NON
12 100 2 2 DOUCHE NON
22 100 2 2 DOUCHE NON
32 100 2 2 DOUCHE NON
42 100 2 2 DOUCHE NON

12 records selected.

1 select * from CHAMBRES


2* where prix<120
comparaison ensembliste: chambre
avec un moyen de se laver
NUM_CHAMBRE PRIX NBR_LITS NBR_PERS CONFOR EQU
----------- ---------- ---------- ---------- ------ ---
12 100 2 2 DOUCHE NON
22 100 2 2 DOUCHE NON
32 100 2 2 DOUCHE NON
42 100 2 2 DOUCHE NON
13 120 1 2 BAIN NON
23 120 1 2 BAIN NON
33 120 1 2 BAIN NON
43 120 1 2 BAIN NON
14 140 2 2 BAIN TV
24 140 2 2 BAIN TV
34 140 2 2 BAIN TV
44 140 2 2 BAIN TV
15 180 3 4 BAIN TV
25 180 3 4 BAIN TV
35 180 3 4 BAIN TV
45 180 3 4 BAIN TV

16 records selected.

1 select * from CHAMBRES


2* where confort in ('BAIN','DOUCHE')
comparaison "chablon": nom de
client commençant par "DU"
NUM_CLIENT NOM PRENOM ADRESSE
---------- -------------------- -------------------- ----------------------------------------
1001 DUPONT PIERRE 12 ch. des hirondelles 1238 LABAS
1002 DUFOUR JEAN 10 av. de la gar 1300 AILLEURS
1005 DUMAS ALEXANDRE 10 route du moulins LE-SUD

1 select * from CLIENTS


2* where Nom like 'DU%'
comparaison "chablon": nom de
client en 5 lettres avec un "U" en
2ième position
NUM_CLIENT NOM PRENOM ADRESSE
---------- -------------------- -------------------- ----------------------------------------
1005 DUMAS ALEXANDRE 10 route du moulins LE-SUD

1 select * from CLIENTS


2* where Nom like '_U___'
comparaison intervalle: prix de la
chambre entre 85 et 120 francs
NUM_CHAMBRE PRIX NBR_LITS NBR_PERS CONFOR EQU
----------- ---------- ---------- ---------- ------ ---
11 90 2 2 WC NON
21 90 2 2 WC NON
31 90 2 2 WC NON
41 90 2 2 WC NON
12 100 2 2 DOUCHE NON
22 100 2 2 DOUCHE NON
32 100 2 2 DOUCHE NON
42 100 2 2 DOUCHE NON
13 120 1 2 BAIN NON
23 120 1 2 BAIN NON
33 120 1 2 BAIN NON
43 120 1 2 BAIN NON

12 records selected.

1 select * from CHAMBRES


2* where prix between 85 and 120
Le nom des clients n'ayant pas
annoncé de date de départ
NOM
--------------------
DUPONT

1 select Nom from CLIENTS,RESERVATIONS


2 where Date_Dep is NULL
3* and Clients.num_client=Reservations.num_client
connecteurs logiques: les chambres
coûtants au max. 80 francs ou ayant
un bain et valant au max. 120
NUM_CHAMBRE PRIX NBR_LITS NBR_PERS CONFOR EQU
----------- ---------- ---------- ---------- ------ ---
10 80 1 2 WC NON
20 80 1 2 WC NON
30 80 1 2 WC NON
40 80 1 2 WC NON
13 120 1 2 BAIN NON
23 120 1 2 BAIN NON
33 120 1 2 BAIN NON
43 120 1 2 BAIN NON

8 records selected.

1 select * from CHAMBRES


2* where (prix<=80) or ((confort='BAIN') and (prix<=120))
Instance de EMP
NOM NUM_EMP NUM_MANAGER SALAIRE
-------------------- ---------- ----------- ----------
DOMINIQUE 1 10000
MARIE 2 1 6000
JEAN 3 1 5000
PAUL 4 2 5000
MARTINE 5 2 5000
VINCENT 6 4 5500
HENRI 7 4 4000
MADELEINE 8 3 4000
ANNE 9 3 3000

9 records selected.

1* select * from EMP


Exists: qui est chef ?
NOM
--------------------
DOMINIQUE
MARIE
JEAN
PAUL

1 select Nom from EMP E1


2 where exists (select * from EMP E2
3* where E1.num_emp=E2.num_manager)
Any: qui est chef d'un employé mieux
payé que lui-même?
NOM
--------------------
PAUL

1 select Nom from EMP E1


2 where E1.salaire< any (select salaire from EMP E2
3* where E1.num_emp=E2.num_manager)
All: Chef "absolu" aucun employé
mieux payé que lui-même ?
NOM
--------------------
DOMINIQUE
MARIE
JEAN

1 select Nom from EMP E1


2 where exists (select * from EMP E2
3 where E1.num_emp=E2.num_manager)
4 and E1.salaire> all (select salaire from EMP E2
5* where E1.num_emp=E2.num_manager)
sous requête: prix moyen des
chambres ayant le même confort que
celle du client "DUFOUR"
AVG(PRIX)
----------
146.666667

1 select avg(prix) from CHAMBRES


2 where Confort=(select Confort
from CHAMBRES, CLIENTS, RESERVATIONS
3 where Clients.num_client=Reservations.num_client
4 and Chambres.num_chambre=Reservations.num_chambre
5* and nom='DUFOUR')
group by: prix moyen des chambres
par type de confort
CONFOR AVG(PRIX)
------ ----------
BAIN 146.666667
DOUCHE 100
WC 85

1 select confort, avg(prix) from CHAMBRES


2* group by confort
group by: prix minimum et maximum
des chambres par type de confort
CONFOR MIN(PRIX) MAX(PRIX)
------ ---------- ----------
BAIN 120 180
DOUCHE 100 100
WC 80 90

1 select confort, min(prix), max(prix) from CHAMBRES


2* group by confort
group by: prix minimum et maximum
des chambres par type de confort ou
min<100
CONFOR MIN(PRIX) MAX(PRIX)
------ ---------- ----------
WC 80 90

1 select confort, min(prix), max(prix) from CHAMBRES


2* group by confort having min(prix)<100
connect by: liste des personnes par
ordre hiérarchique
NOM NUM_EMP NUM_MANAGER SALAIRE
-------------------- ---------- ----------- ----------
DOMINIQUE 1 10000
MARIE 2 1 6000
PAUL 4 2 5000
VINCENT 6 4 5500
HENRI 7 4 4000
MARTINE 5 2 5000
JEAN 3 1 5000
MADELEINE 8 3 4000
ANNE 9 3 3000

9 records selected.

1 select * from EMP


2 Connect by prior Num_emp=Num_manager
3* Start with Num_manager is Null
Order by: liste des clients par nom
NUM_CLIENT NOM PRENOM ADRESSE
---------- -------------------- -------------------- ----------------------------------------
1009 AGDA BRUNO 10 route de l impossible 1508 TEXAS
1008 CHADOK AMELIE 25 rue de la rame 1456 Tombouctou
1002 DUFOUR JEAN 10 av. de la gar 1300 AILLEURS
1005 DUMAS ALEXANDRE 10 route du moulins LE-SUD
1001 DUPONT PIERRE 12 ch. des hirondelles 1238 LABAS
1004 EINSTEIN ALBERT 10 route de la relativité 1004 PLUS-LOIN
1000 GASCON GASTON 12 av. du Général 1239 ICI
1007 NOBODY FRANCOISE 403 route de l inconnu 75000 Paris
1006 ROMULUS BERNADETTE 241 route de rome 1409 Lion
1003 ZORO DIEGO 10 ch des voleurs Los Angeles

10 records selected.

1 select * from CLIENTS


2* Order by nom asc

Vous aimerez peut-être aussi