Exercice SQL : Sous-requêtes

Complétez les requêtes SQL pour utiliser des sous-requêtes et obtenir les données souhaitées. Répondez ensuite aux questions sur l'utilisation des sous-requêtes en SQL.

Informations pour les sous-requêtes

La table Clients contient les informations sur chaque client, et la table Commandes contient les informations sur les commandes. Voici les colonnes de chaque table :

  • Clients : client_id, nom, date_inscription
  • Commandes : commande_id, client_id, montant, date_commande

1. Sous-requête dans WHERE :

Complétez la requête pour afficher les clients qui ont passé une commande supérieure à 500.


SELECT nom
FROM Clients
WHERE client_id IN 
    (SELECT client_id FROM Commandes 
    WHERE montant );
                

2. Sous-requête avec HAVING :

Complétez la requête pour afficher les clients ayant un montant total de commandes supérieur à 1000.


SELECT client_id, SUM(montant) AS total_montant
FROM Commandes
GROUP BY client_id
HAVING total_montant ;
                

3. Sous-requête dans SELECT :

Complétez la requête pour afficher le nom des clients ainsi que le montant total de leurs commandes.


SELECT nom, 
    (SELECT SUM(montant) 
     FROM Commandes 
     WHERE Commandes.client_id = Clients.client_id) 
     AS total_montant
FROM Clients;
                

4. Sous-requête corrélée :

Complétez la requête pour afficher les clients qui ont passé des commandes après leur date d'inscription.


SELECT nom
FROM Clients
WHERE EXISTS 
    (SELECT * FROM Commandes 
    WHERE Commandes.client_id = Clients.client_id
    AND date_commande  date_inscription);
                

Questions sur les Sous-requêtes en SQL :