PaliSkill
SQL avancé

Leçon 1 / 9 — Chapitre 8: Mise en pratique : hôtellerie

Les tables chambres et réservations

Ce chapitre introduit un nouveau scénario : un petit hôtel, avec deux tables indépendantes.

chambres
id | numero | type    | prix_nuit
1  | 101    | simple  | 50
2  | 102    | simple  | 50
3  | 201    | double  | 80
4  | 202    | double  | 80
5  | 301    | suite   | 150

reservations
id | chambre_id | date_arrivee | nb_nuits | statut     | commentaire
1  | 1          | 2024-06-01   | 3        | confirmee  | (NULL)
2  | 3          | 2024-06-05   | 2        | confirmee  | Arrivée tardive
3  | 5          | 2024-06-10   | 5        | confirmee  | (NULL)
4  | 1          | 2024-07-02   | 1        | annulee    | (NULL)
5  | 3          | 2024-07-15   | 4        | confirmee  | Demande étage élevé
6  | 2          | 2024-07-20   | 2        | confirmee  | (NULL)
7  | 4          | 2024-08-01   | 3        | confirmee  | (NULL)

Les prix (prix_nuit) et les revenus calculés dans ce chapitre sont exprimés en dollars ($).

reservations.chambre_id référence chambres.id. Le revenu d'une réservation se calcule en multipliant nb_nuits par le prix_nuit de sa chambre — une information qui vit dans chambres, jamais dans reservations.

À retenir :

  • statut distingue une réservation confirmée d'une annulée : la plupart des calculs de ce chapitre ne portent que sur les réservations confirmées.
  • Le revenu d'une réservation dépend de deux tables à la fois : nb_nuits (réservations) et prix_nuit (chambres).

À vous de jouer : combien de réservations, sur les 7 existantes, ont le statut 'annulee' ?

À vous de jouer

À faire

Voici la table reservations :

reservations (id, statut) : (1,confirmee), (2,confirmee), (3,confirmee), (4,annulee), (5,confirmee), (6,confirmee), (7,confirmee)

Combien de réservations, sur les 7 existantes, ont le statut 'annulee' ?

Testez cette requête dans un bac à sable SQL en ligne (SQLite Fiddle, W3Schools "Try SQL", ou tout autre) pour vérifier le résultat avant de répondre.

💡 Un nombre.

À vous de jouer

À faire

Voici les tables chambres et reservations :

chambres : 1=101/simple/50, 2=102/simple/50, 3=201/double/80, 4=202/double/80, 5=301/suite/150
reservations : 1=(chambre1, 3 nuits)

Quel est le revenu de la réservation d'id 1 (chambre 1, 3 nuits) ?

Testez cette requête dans un bac à sable SQL en ligne (SQLite Fiddle, W3Schools "Try SQL", ou tout autre) pour vérifier le résultat avant de répondre.

💡 Un nombre.

Quitter le module