Interroger une base RO : Utilisation des méthodes

Dans ce deuxième exercice, vous expérimenterez la manipulation des méthodes.

Question

Écrivez une requête permettant de renvoyer le montant total de toutes les factures, ainsi que le nombre de factures, du client 1.

Indice

Pensez à toujours passer par un alias de table pour appeler des méthodes.

1
-- Résultat attendu --
2
----------------------
3
 2 488,4
4
----------------------

Solution

1
SELECT COUNT(*) as nombre, SUM(f.total()) as montant
2
FROM Facture f
3
WHERE f.fkClient.num = 1;

Question

Ecrivez une requête permettant de renvoyer le montant moyen des factures des clients qui ont comme prénom Christophe.

Indice

1
-- Résultat attendu --
2
----------------------
3
 244,2
4
----------------------

Solution

1
SELECT AVG(f.total()) as montant
2
FROM Facture f
3
WHERE f.fkClient.prenom = 'Christophe';

Question

Ecrivez une requête permettant de renvoyer les numéros et les noms des clients ayant payé au moins une facture supérieure à 100 euros.

Solution

1
SELECT DISTINCT f.fkClient.num as numero, f.fkClient.nom as nom
2
FROM Facture f
3
WHERE f.total() > 100;

Question

Ecrivez une requête permettant de renvoyer le montant total, le montant moyen et le nombre des factures pour chaque client.

Indice

Faites un regroupement sur les clients.

1
-- Résultat attendu --
2
----------------------
3
 488,4 244,2 2
4
  25,9  25,9 1
5
----------------------

Solution

1
SELECT SUM(f.total()) AS total, AVG(f.total()) AS moyen, COUNT(f.num) AS nombre
2
FROM Facture f
3
GROUP BY f.fkClient;