Jeudi 24/09 Correction TP du mardi 22/09 SQL BDD FACTURES Jeudi 24/09 Correction TP du mardi 22/09
Clients du département 76
Nom et le numéro des clients situés à Paris
Nom et numéro des clients situés à Paris dans le 2° et le 10° arrondissements
Client (numéro et nom) de la facture 11
Liste des produits (ref) de la facture 11 trié par quantité de la plus grande à la plus petite SELECT Réf, QtéFact from lignefacture where N°Fact = 11 order by QtéFact desc;
Liste des produits (ref et design) de la facture 11
Liste des produits (ref et design)) de la facture 11 dont le montant facturé est > à 100 €
Liste des vélos homme trié par designation produit SELECT Réf, Désign from produit where Désign like "*homme" order by Désign;
Liste des vélos country
Nb produits de la facture 11 SELECT count(Réf) as "nb produits fact 11" from lignefacture where N°Fact = 11;
Prix moyen des casques SELECT avg(PUHT) as "prix moyen casque" from produit where Désign like "*casque*";
Montant de la facture 11 SELECT sum(PrixFact) as "mt total fact 11" from lignefacture where N°Fact = 11;
Nom et numéro des clients situés à Paris dans le 2° et le 10° arrondi - ssements ; les intitulés de colonne doivent être « Noms des Clients » et « Numéros des Clients ».
Nb clients de Paris SELECT count(NomCli) as 'nb cli paris' from client where CPCli like "75*";
Nb produits enregistrés dans la base de données SELECT count(Réf) as 'nb produits' from produit;
Prix moyen des produits de la facture 11 SELECT avg(PrixFact/QtéFact) from lignefacture where N°Fact = 11;
Liste des produits (ref, design, puht) dont le prix est supérieur au prix moyen des Produits SELECT Réf, Désign from produit where PUHT > (select avg(PUHT) from produit);
Montant total des factures du client 12 select sum(PrixFact) as "mt client " from lignefacture, facture where NumCli = 12 and lignefacture.N°Fact = facture.numfact;
Montant total facturé au client 12 en 2008 select sum(PrixFact) as "mt client " from lignefacture, facture where NumCli = 12 and lignefacture.N°Fact = facture.numfact and year(DateFact) = 2008;
Montant de la dernière facture du client xx select sum(PrixFact) as "mt client " from lignefacture, facture where NumCli = 12 and lignefacture.N°Fact = facture.numfact and DateFact = ( select max(DateFact) from facture where NumCli = 12);
Nb de produits par facture (compter le nb de lignes / facture) select count(Réf) as 'nb prod', N°Fact from lignefacture group by N°Fact;
Nb de factures par client trié par nb fact decroissant select count(NumFact) as 'nb fact', NumCli from facture group by NumCli order by count(NumFact) ;
Liste des clients dont le nombre de factures est supérieur à 1 select count(NumFact) as 'nb fact', NumCli from facture group by NumCli having count(NumFact) > 1;
Nb de factures par produit select count(N°Fact) as 'nb fact', Réf from lignefacture group by Réf;
Nb de factures concernant le produit « 242N» select count(N°Fact) as 'nb fact', Réf from lignefacture group by Réf having Réf = "242N";
Nb maxi de quantité facturée du produit «151T» select max(QtéFact) as 'nb maxi qte' from lignefacture where Réf = "151T";
Nb maxi de quantité facturée du produit «151T» avec la designation du produit select Désign,QtéFact from produit, lignefacture where produit.Réf = "151T" and lignefacture.Réf = "151T" and QtéFact = (select max(QtéFact) from lignefacture where lignefacture.Réf = "151T");
La facture (numéro et date) dont l’année est la + ancienne select DateFact from facture where year(DateFact) = (select min(year(DateFact)) from facture)
La facture (numéro et date) dont l’année est la plus récente select DateFact from facture where year(DateFact) = (select max(year(DateFact)) from facture)
Liste des produits n’ayant jamais fait l’objet d’une facture (imbriquée avec not in) select Réf from produit where Réf not in (select Réf from lignefacture);
Nombre de produits n’ayant jamais fait l’objet d’une facture (imbriquée avec not in) select count(Réf) from produit where Réf not in (select Réf from lignefacture);