Académique Documents
Professionnel Documents
Culture Documents
Soit la base de données relative à l’exploitation des chambres d’un hôtel défini comme suit :
CHAMBRE (Num_Chambre, Prix, Nbr_Lit, Nbr_Pers, Confort, Equ)
CLIENT (Num_Client, Nom, Prénom, Adresse)
RESERVATION (#Num_Client, #Num_Chambre, Date_Arr, Date_Dep)
Exprimons les requêtes suivantes en SQL :
1. Liste de toutes les chambres
SELECT *
FROM Chambre;
2. Les numéros des chambres avec TV
SELECT Num_Chambre
FROM Chambre
WHERE Confort = ′TV′;
3. Les numéros des chambres et leurs capacités
SELECT SUM(Nbr_Pers)
FROM CHAMBRE;
5. Le prix par personne des chambres avec TV.
SELECT Num_Chambre
FROM CHAMBRE
WHERE Prix<=80000 OR (Confort=’bain’ AND Prix<=’120000’) ;
8. Les noms, prénoms et adresse des clients dont les noms commencent par « AR ».
SELECT COUNT(Num_Chambre)
FROM CHAMBRE
WHERE Prix BETWEEN 85000 AND 120000;
10. Les noms des clients n’ayant pas fixé la date de départ
SELECT C.Nom
FROM RESERVATION R, Client C
WHERE Date_Dep is Null AND R.Num_client = C.Num_Client ;
Introduction
Le langage SQL comme tout autre langage, nécessite divers opérateurs dans le but d'effectuer des
manipulations sur des valeurs numériques, littérales ou encore logiques.
Opérateurs Description
= Vérifie l’égalité entre deux expressions
!= , <>, ^= Vérifie la différence entre deux expressions
> Vérifie si la première expression est supérieure à la seconde
>= vérifie si la première expression est supérieure ou égale à la seconde
!> Vérifie si la première expression n’est pas supérieure à la seconde
< Vérifie si la première expression est inférieure à la seconde
<= vérifie si la première expression est inférieure ou égale à la seconde
!< vérifie si la première expression n’est pas inférieure à la seconde
3. L’opérateur « IN »
Le contenu de la parenthèse peut être remplacé par le résultat d'une requête possédant une colonne
unique. Dans ce cas on parle de requêtes imbriquées, comme l’illustre l’exemple suivant :
EXEMPLE
La requête suivante recherche les codes, noms et prénoms clients de sexe féminin, basée sur le
code titre.
SELECT CODE, NOM, PRENOM
FROM T_CLIENT
WHERE CODE IN (SELECT sexe FROM Personne);
4. L’opérateur « BETWEEN »
L'opérateur BETWEEN permet de rechercher si une valeur se trouve dans un intervalle donné,
quel que soit le type des valeurs de référence spécifiées (alpha, numérique, date...).
EXEMPLE
La requête suivante recherche les codes, noms et prénoms clients dont le nom commence par
A, B C ou D, basée sur le code titre.
SELECT CODE, NOM, PRENOM
FROM T_CLIENT
WHERE NOM BETWEEN ′A′ AND ‘E’ ;
NB : les opérateurs IN et BETWEEN sont très pratiques dans le cas où l’on désire effectuer des
requêtes où l’utilisateur peut saisir une liste de choix multiples (IN) ou une plage de valeur
(BETWEEN).
EXEMPLE
La requête suivante recherche les clients dont les noms commencent par B.
SELECT NOM, PRENOM
FROM T_CLIENT
WHERE NOM LIKE ′B%′;
NB : l’opérateur LIKE effectue une recherche en tenant compte de la différence entre lettres
majuscules et minuscules. Si vous voulez effectuer une recherche en ne tenant aucunement compte
de la différence entre majuscules et minuscules, il convient d’utiliser les opérateurs LOWER et
UPPER.