Cours-Gratuit
  • Accueil
  • Blog
  • Cours informatique
home icon Cours gratuits » Cours informatique » Cours bases de données » Cours SQL » Exercices SQL »

Articles similaires

  • Exercice PHP : Gestionnaire d'annuaire téléphonique.
  • Tutoriel Word : comment classer par ordre alphabétique une liste de données
  • Outlook : importer des contacts à partir d'un fichier CSV ou PST
  • Tutoriel Excel : créer une base de données
  • Tutoriel Python : maîtriser les listes
  • Tuto Python : rechercher et remplacer une valeur dans une liste
  • Tuto Python : créer et manipuler une liste des tuples
  • Tutoriel Python : manipuler une liste de string
  • Tutoriel Python : importer, lire et modifier un fichier CSV
  • Tutoriel Excel : comment insérer/supprimer des commentaires
  • Comment supprimer toutes les macros dans Excel
  • Outlook : comment supprimer un mail déjà envoyé, un contact ou un compte

Documents similaires

  • Apprendre python pour l’analyse de données

  • Modèle Word avec une liste déroulante

  • Exercice bureautique pour réviser ensemble

  • TP programmation web pour débutant

  • Modèle de liste de courses sur Word

  • Modèle pour liste des taches sur Word

  • Application Java sur le système de gestion d’hôpital

  • Application Excel pour la gestion des contactes

Exercice requêtes SQL : Base de Données CAFE

Rédigé par GC Team, Publié le 12 Décembre 2011, Mise à jour le Mardi, 30 Novembre 1999 00:00
Participez au vote ☆☆☆☆☆★★★★★

Objectif :

Etre capable de réaliser n'importe quelles requêtes.

Faire les requêtes SQL permettant de répondre aux demandes sur la base de données suivante:

Servir (Café, Boisson) 
Fréquenter (Client, Café) 
Apprécier  (Client, Boisson)

Exprimer les requêtes suivantes en SQL.

  1. Les Cafés qui servent une Boisson Apprécier par 'Ahmed'.
  2. Les Clients qui vont dans les mêmes Cafés que Ahmed.
  3. Les Clients qui fréquentent au moins un Café où l'on sert une Boisson qu'ils aiment.
  4. Les Clients qui ne fréquentent aucun Café où l'ont sert une Boisson qu'ils aiment.
  5. Les Clients qui fréquentent tous les Cafés.
  6. Les Clients qui fréquentent tous les Cafés qui servent au moins une Boisson qu'ils aiment.
  7. Les Clients qui ne fréquentent que les Cafés qui servent une Boisson qu'ils aiment.
  8. Donner pour chaque Client, le nombre de Cafés servant une Boisson qu'ils aiment.
  9. Les Clients qui fréquentent au moins 2 Cafés où l'on sert une Boisson qu'ils aiment.

Les requêtes SQL

1- Les Cafés qui servent une Boisson Apprécier par 'Ahmed'.

SELECT Café 
FROM Apprécier  A, Servir S 
WHERE S.Boisson = A.Boisson AND Client ='Ahmed';

2- Les Clients qui vont dans les mêmes Cafés que Ahmed.

SELECT Fréquenter.Client 
FROM Fréquenter F1, Fréquenter F2 
WHERE F1.Café = F2.Café AND F2.Client = 'Ahmed';

3- Les Clients qui fréquentent au moins un Café où l'on sert une Boisson qu'ils aiment.

SELECT Fréquenter.Client 
FROM Fréquenter F, Apprécier  A, Servir S 
WHERE A.Boisson = S.Boisson AND S.Café = F.Café AND A.Client = F.Client ;

4- Les Clients qui ne fréquentent aucun Café où l'ont sert une Boisson qu'ils aiment.

SELECT Client 
FROM Fréquenter F 
WHERE Client NOT IN 
                                  (SELECT Client 
                                  FROM Apprécier  A, Servir S 
                                  WHERE S.Café = F.Café 
                                  AND S.Boisson = A.Boisson );

5- Les Clients qui fréquentent tous les Cafés.

SELECT Client 
FROM Fréquenter 
WHERE Client NOT IN    
                                  (SELECT F1.Client FROM Fréquenter F1, Fréquenter F2 
                                  WHERE F1.Client NOT IN 
                                                                        (SELECT Client 
                                                                        FROM Fréquenter 
                                                                        WHERE Café=F2.Café)
                                   );

6- Les Clients qui fréquentent tous les Cafés qui servent au moins une Boisson qu'ils aiment.
SELECT Client 
FROM Fréquenter F 
WHERE Client NOT IN 
                                  (SELECT Apprécier.Client 
                                  FROM Servir S, Apprécier  A 
                                  WHERE S.Boisson=A.Boisson 
                                  AND A.Client NOT IN 
                                                                   (SELECT Client 
                                                                   FROM Fréquenter 
                                                                   WHERE Café=S.Café)

                                 );

7- Les Clients qui ne fréquentent que les Cafés qui servent une Boisson qu'ils aiment.

SELECT Client 
FROM Fréquenter 
WHERE Client NOT IN 
                                  (SELECT Client 
                                  FROM Fréquenter F 
                                  WHERE Client NOT IN 
                                                                   (SELECT Client 
                                                                   FROM Servir S, Apprécier  A 
                                                                   WHERE S.Café = F.Café 
                                                                   And S.Boisson = A.Boisson)
                                   );

8-  Donner pour chaque Client, le nombre de Cafés servant une Boisson qu'ils aiment.

SELECT Client, COUNT(DISTINCT Café) 
FROM Servir S, Apprécier  A 
WHERE S.Boisson = A.Boisson 
GROUP BY Client

9- Les Clients qui fréquentent au moins 2 Cafés où l'on sert une Boisson qu'ils aiment.
 
SELECT Client 
FROM Servir S, Apprécier  A, Fréquenter F 
WHERE S.Boisson = A.Boisson AND A.Client = F.Client AND F.Café = S.Café 
GROUP BY Client 
HAVING COUNT(Café)>2; 

  • Contactez-nous
  • A propos de nous
  • On recrute
  • Rechercher dans le site
  • Politique de confidentialité
  • Droit d'auteur/Copyright
  • Conditions générales d'utilisation
  • Plan du site
  • Accueil
  • Blog
  • Finance et compta.
  • Formations Pro.
  • Logiciels & Apps
  • Organisation
  • Cours informatique
  • Aide à la rédaction
  • Etudes et Metiers
  • Science et Tech
  • Titans de la Tech
id 11354 02