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

Articles similaires

    Documents similaires

    • Modèle accessible pour le suivi de remboursement d’emprunt sur Excel

    • Modèle de tableau d’amortissement emprunt linéaire sur Excel

    • Projet de gestion des prêts et de clients en langage C

    • Qu'est-ce le compte de résultat d'une entreprise ?

    • Modèle de compte d'exploitation sur Excel

    • Modèles de tenue de compte sur Excel

    • Modèle de compte rendu sur Word

    • Modèle sur Excel de bilan et compte de résultat

    Exercice Langage SQL : " Banque "

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

    Enancé de l'Exercice

    Soit le schéma de base de données relationnel suivant :

                         AGENCE (Num_Agence, Nom, Ville, Actif)

                         CLIENT (Num_Client, Nom, Ville)

                         COMPTE (Num_Compte, Num_Agence, Num_Client, Solde)

                         EMPRUNT (Num_Emprunt, Num_Agence, Num_Client, Montant)

    Ecrire les requêtes suivantes en SQL :

    1. Liste des agences ayant des comptes-clients
    2. Clients ayant un compte à “Agadir”
    3. Clients ayant un compte ou un emprunt à “Agadir”
    4. Clients ayant un compte et un emprunt à “Agadir”
    5. Clients ayant un compte et pas d’emprunt à “Agadir”
    6. Clients ayant un compte et nom de la ville où ils habitent
    7. Clients ayant un compte à “Paris-Etoile” et nom de la ville où ils habitent
    8. Clients ayant un compte dans une agence où “Ahmed” a un compte
    9. Agences ayant un actif plus élevé que toute agence d'“AAAA”
    10. Clients ayant un compte dans chaque agence d'“ AAAA ”
    11. Clients ayant un compte dans au-moins une agence d'“AAAA”
    12. Emprunteurs de l'agence “Grédit-Agadir” classés par ordre alphabétique
    13. Solde moyen des comptes-clients de chaque agence
    14. Solde moyen des comptes-clients des agences dont le solde moyen est > “10 000”
    15. Nombre de clients habitant “Safi”
    16. Nombre de clients de l'agence “ CETELEM ” n'ayant pas leur adresse dans la relation CLIENT
    17. Insérer le n-uplet dans la relation CLIENT
    18. Diminuer l'emprunt de tous les clients habitant “Tanger” de “5%”
    19. Fermer les comptes de “Ahmed”
    20. Supprimer de la relation AGENCE toutes les agences sans client

     


     

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    
    1. Liste des agences ayant des comptes-clients
     
    SELECT DISTINCT Nom FROM AGENCE, COMPTE
    WHERE AGENCE.Num_Agence = COMPTE.Num_Agence
     
    2. Clients ayant un compte à “Agadir”
     
    SELECT CLIENT.Nom FROM CLIENT, AGENCE, COMPTE
    WHERE AGENCE.Num_Agence = COMPTE.Num_Agence
    AND CLIENT.Num_Client = COMPTE.Num_Client
    AND AGENCE.Ville = “Agadir”
     
    3. Clients ayant un compte ou un emprunt à “Agadir”
     
    SELECT CLIENT.Nom FROM CLIENT, AGENCE, COMPTE
    WHERE CLIENT.Num_Client = COMPTE.Num_Client
    AND AGENCE.Num_Agence = COMPTE.Num_Agence
    AND AGENCE.Ville = “Agadir”
    UNION
    SELECT CLIENT.Nom FROM CLIENT, AGENCE, EMPRUNT
    WHERE CLIENT.Num_Client = EMPRUNT.Num_Client
    AND AGENCE.Num_Agence = EMPRUNT.Num_Agence
    AND AGENCE.Ville = “Agadir”
     
    4. Clients ayant un compte et un emprunt à “Agadir”
     
    SELECT CLIENT.Nom FROM CLIENT, AGENCE, COMPTE
    WHERE CLIENT.Num_Client = COMPTE.Num_Client
    AND AGENCE.Num_Agence = COMPTE.Num_Agence
    AND AGENCE.Ville = “Agadir”
    intersect
    SELECT CLIENT.Nom FROM CLIENT, AGENCE, EMPRUNT
    WHERE CLIENT.Num_Client = EMPRUNT.Num_Client
    AND AGENCE.Num_Agence = EMPRUNT.Num_Agence
    AND AGENCE.Ville = “Agadir”
     
    5. Clients ayant un compte et pas d’emprunt à “Agadir”
     
    SELECT CLIENT.Nom FROM CLIENT, AGENCE, COMPTE
    WHERE CLIENT.Num_Client = COMPTE.Num_Client
    AND AGENCE.Num_Agence = COMPTE.Num_Agence
    AND AGENCE.Ville = “Agadir”
    minus
    SELECT CLIENT.Nom FROM CLIENT, AGENCE, EMPRUNT
    WHERE CLIENT.Num_Client = EMPRUNT.Num_Client
    AND AGENCE.Num_Agence = EMPRUNT.Num_Agence
    AND AGENCE.Ville = “Agadir”
     
    6. Clients ayant un compte et nom de la ville où ils habitent
     
    Première solution :
    SELECT Nom, Ville FROM CLIENT, COMPTE
    WHERE CLIENT.Num_Client = COMPTE. Num_Client
    Deuxième solution :
    SELECT Nom, Ville FROM CLIENT
    WHERE Num_Client IN (
    SELECT Num_Client FROM COMPTE)
     
    7. Clients ayant un compte à “ wafa-agadir ” et nom de la ville où ils habitent
     
    Première solution :
     
    SELECT CLIENT.Nom, CLIENT.Ville FROM CLIENT, AGENCE, COMPTE
    WHERE CLIENT.Num_Client = COMPTE. Num_Client
    AND AGENCE.Num_Agence = COMPTE.Num_Agence
    AND AGENCE.Nom = “ wafa-agadir ”
     
    Deuxième solution :
     
    SELECT Nom, Ville FROM CLIENT
    WHERE Num_Client IN (
    SELECT Num_Client FROM COMPTE WHERE Num_Agence IN (
    SELECT Num_Agence FROM AGENCE WHERE Nom = “wafa-agadir”))
     
    8. Clients ayant un compte dans une agence où “Ahmed” a un compte
     
    Première solution :
     
    SELECT Nom FROM CLIENT, COMPTE
    WHERE CLIENT.Num_Client = COMPTE.Num_Client AND Num_Agence IN (
    SELECT Num_Agence FROM CLIENT, COMPTE
    WHERE CLIENT.Num_Client = COMPTE.Num_Client AND Nom = “Ahmed”)
     
    Deuxième solution :
     
    SELECT Nom FROM CLIENT WHERE Num_Client IN (
    SELECT Num_Client FROM COMPTE WHERE Num_Agence IN (
    SELECT Num_Agence FROM CLIENT, COMPTE
    WHERE CLIENT.Num_Client = COMPTE.Num_Client AND Nom = “Ahmed”))
     
    9. Agences ayant un actif plus élevé que toute agence de "AAAA"
     
    SELECT Nom FROM AGENCE WHERE Actif > ALL (
    SELECT Actif FROM AGENCE WHERE Ville = “AAAA”)
     
    10. Clients ayant un compte dans chaque agence d“AAAA”
     
    11. Clients ayant un compte dans au-moins une agence d“AAAA”
     
    Première solution :
     
    SELECT Nom FROM CLIENT WHERE Num_Client IN (
    SELECT Num_Client FROM COMPTE WHERE Num_Agence IN (
    SELECT Num_Agence FROM AGENCE WHERE Ville = “AAAA”))
     
    Deuxième solution :
     
    SELECT CLIENT.Nom FROM CLIENT, COMPTE, AGENCE
    WHERE CLIENT.Num_Client = COMPTE.Num_Client
    AND COMPTE.Num_Agence = AGENCE.Num_Agence
    AND AGENCE.Ville = “AAAA”
     
    12. Emprunteurs de l"'"agence “Grédit-Agadir” classés par ordre alphabétique
     
    SELECT Nom FROM CLIENT WHERE Num_Client IN (
    SELECT Num_Client FROM EMPRUNT WHERE Num_Agence IN (
    SELECT Num_Agence FROM AGENCE WHERE Nom = “Grédit-Agadir”))
    ORDER BY Nom
     
    13. Solde moyen des comptes-clients de chaque agence
     
    SELECT Nom, avg(Solde) FROM AGENCE, COMPTE
    WHERE AGENCE.Num_Agence = COMPTE.Num_Agence
    GROUP BY Nom
     
    14. Solde moyen des comptes-clients des agences dont le solde moyen est > “10 000”
     
    SELECT Nom, avg(Solde) FROM AGENCE, COMPTE
    WHERE AGENCE.Num_Agence = COMPTE.Num_Agence
    GROUP BY Nom
    HAVING avg(Solde) > 10000
     
    15. Nombre de clients habitant “ Safi ”
     
    SELECT count(*) FROM CLIENT WHERE Ville = “Safi”
     
    16. Nombre de clients de l'agence “CETELEM ” n'ayant pas leur adresse dans la relation CLIENT
     
    Première solution :
     
    SELECT count(*) FROM CLIENT WHERE Ville = NULL AND Num_Client IN (
    SELECT Num_Client FROM COMPTE WHERE Num_Agence IN (
    SELECT Num_Agence FROM AGENCE WHERE Nom = “CETELEM ”))
     
    Deuxième solution :
     
    SELECT count(*) FROM CLIENT, COMPTE, AGENCE
    WHERE Ville = NULL
    AND CLIENT.Num_Client = COMPTE.Num_Client
    AND COMPTE.Num_Agence = AGENCE.Num_Agence
    AND AGENCE.Nom = “CETELEM ”
     
    17. Insérer le n-uplet < leila, Agadir > dans la relation CLIENT
     
    INSERT INTO CLIENT VALUES (130765, “leila”, “Agadir”)
     
    18. Diminuer l"'"emprunt de tous les clients habitant “Tanger” de “5%”
    • 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