Requêtes SQL - Exercice Base de Données Animaux
-- 1. Noms des animaux classés par date de naissance
SELECT nom
FROM Animal
ORDER BY date_naissance;
-- 2. Espèces coûtant moins de 150.000 FCFA
SELECT nom_courant
FROM Espece E
JOIN Race R ON E.id_espece = R.id_espece
WHERE [Link] < 150000;
-- 3. Nom de l'espèce de chaque animal
SELECT [Link], E.nom_courant
FROM Animal A
JOIN Espece E ON A.id_espece = E.id_espece;
-- 4. Nom d'espèce et nom de race pour chiens et chats
SELECT E.nom_courant, [Link]
FROM Espece E
JOIN Race R ON E.id_espece = R.id_espece
WHERE E.nom_courant IN ('chat', 'chien');
-- 5. Clients et animaux adoptés en 2023
SELECT [Link] AS nom_client, [Link] AS nom_animal
FROM Achat AC
JOIN Client C ON AC.id_client = C.id_client
JOIN Animal A ON AC.id_animal = A.id_Animal
WHERE YEAR(AC.date_adoption) = 2023;
-- 6. Nom, prénom et total payé par client
SELECT [Link], [Link], SUM([Link]) AS total_paye
Page 1
Requêtes SQL - Exercice Base de Données Animaux
FROM Achat AC
JOIN Client C ON AC.id_client = C.id_client
WHERE [Link] = 1
GROUP BY C.id_client, [Link], [Link];
-- 7. Total des prix en boutique
SELECT SUM([Link]) AS total_boutique
FROM Animal A
JOIN Race R ON A.id_race = R.id_race;
-- 8. Animaux non disponibles avec nom d'espèce
SELECT [Link], E.nom_courant
FROM Animal A
JOIN Espece E ON A.id_espece = E.id_espece
WHERE [Link] = 0;
-- 9. Clients ayant fait au moins un achat avec nombre d'adoption
SELECT [Link], [Link], COUNT(*) AS nombre_adoptions
FROM Achat AC
JOIN Client C ON AC.id_client = C.id_client
GROUP BY C.id_client, [Link], [Link];
-- 10. Espèces coûtant moins que le prix moyen de toutes les espèces
SELECT nom_courant
FROM Espece E
JOIN Race R ON E.id_espece = R.id_espece
GROUP BY E.nom_courant
HAVING AVG([Link]) < (
SELECT AVG(prix) FROM Race
);
Page 2