Logo Pastebin.fr
Pastebin

Retrouvez, créez et partagez vos snippets en temps réel.

Nike ton

--CAS : PAC
--Programmeur : AZAANOUNE Rayan
--Date        : mardi 03 février 2026
--Objectif    : Fonctions d'agrégation et requêtes imbriquées


-- Partie 1 : Fonctions d'agrégation

--     Ecrire les requêtes qui renvoient :
--     1. Le nombre d'achats stockés dans la base

       SELECT COUNT(*) AS "Nombre achats"
       FROM  ACHAT ;

--     2. Le nombre de clients différents ayant fait des achats
       SELECT COUNT(distinct NCLI) as "Nombre clients ayan fait"
       FROM  ACHAT ;

--     3. Le nombre de produits achetés par le client 101
       SELECT COUNT(np) as "NB Achetés"
       FROM  ACHAT
       WHERE ncli = 101;
       
       

--     4. La quantité moyenne de produits achetés par le client 101
       SELECT AVG(np) as "MOY PROD ACHETE"
       FROM  ACHAT
       WHERE ncli = 101;

--     5. La plus petite quantité de produit achetée par le client 101
       SELECT MIN(qa) as "PLUS PTITE QA"
       FROM  ACHAT
       WHERE ncli = 101;

--     6. La quantité totale de produits achetés par le client 10
       SELECT SUM(qa) as "QA TOTALE"
       FROM  ACHAT
       WHERE ncli = 101;


-- Partie 2 : Tri des tuple

--     Ecrire les requêtes qui renvoient :
--     7. La liste des noms des clients triés par ordre alphabétique
       SELECT nom as "LISTE NOM CLIENT"
       FROM  CLIENT
       ORDER BY nom;

--     8. Les produits classés par couleur et pour chaque couleur classés par quantité en stock décroissante
       SELECT *
       FROM  PRODUIT
       ORDER BY coul, qs desc;
       
--     9. Les clients dont le nom commence par R, classés par ordre alphabétique
       SELECT *
       FROM  CLIENT
       WHERE nom like 'R%'
       ORDER BY nom;
       
-- Partie 3 : Requêtes imbriquées

--     Ecrire les requêtes qui renvoient :
--     10.1 Les identifiants des produits achetés par les clients parisiens
       SELECT DISTINCT(ACHAT.np)
       FROM   CLIENT
              INNER  JOIN
              ACHAT   ON CLIENT.ncli = ACHAT.ncli
       WHERE  CLIENT.ville = 'PARIS';
       
--     10.2 Les identifiants des produits achetés par les clients parisiens
       SELECT DISTINCT(ACHAT.np)
       FROM   ACHAT

       WHERE ACHAT.ncli  in (SELECT   ncli
                            FROM   CLIENT
                            WHERE  CLIENT.ville = 'PARIS');
                            
--     11. Les noms des clients qui habitent dans la même ville que Mr. Defrere
       
       SELECT nom
       FROM   CLIENT
       WHERE  ville  = (SELECT ville
                        FROM   CLIENT
                        WHERE  CLIENT.nom = 'DEFRERE');

--     12.1 nom des clients ayant acheté au moins un des produits que Mr.Defrere a acheté
       SELECT nom
       FROM   CLIENT
       WHERE  ncli  in (SELECT ncli
                        FROM   ACHAT
                        WHERE  np in (SELECT np
                                      FROM   achat
                                      WHERE  ncli in (SELECT ncli
                                                      FROM   client
                                                      WHERE  nom = 'DEFRERE')));
--     12.2 nom des clients ayant acheté au moins un des produits que Mr.Defrere a acheté
       SELECT distinct(CLIENT1.nom)
       FROM   CLIENT     AS CLIENT1
              inner join
              ACHAT      AS ACHAT1      on CLIENT1.ncli = ACHAT1.ncli
              inner join
              ACHAT      AS ACHAT2      on ACHAT1.np   = ACHAT2.np
              inner join
              CLIENT     AS  CLIENT2    on ACHAT2.ncli = CLIENT2.ncli
       WHERE  CLIENT2.nom = 'DEFRERE';
              
       

Créé il y a 1 semaine.

Rechercher un Pastebin

Aucun paste trouvé.