Correction exercices les bases de données MySQL Série 01
Exercices les bases de données MySQL Série 01
-
Exercice 01
-
Énoncé
- Vous pouvez visualiser l’énoncé de l’exercice
-
Correction
-
Exercice 02
-
Énoncé
- Vous pouvez visualiser l'énoncé de l'exercice
-
Correction
Continent (numContinent, nomContinent)
Fleuve (numFleuve, nomFleuve)
Frontalier (numPays1#, numPays2#)
Pays ( numPays, nomPays, capitale, population, superficieKm², dateAdhesionONU, numContinent#)
Traversee (numPays#, numFleuve#)
1/
SELECT nomFleuve
FROM fleuve;
2/
SELECT nomPays, capitale
FROM pays
WHERE capitale LIKE 'B%';
3/
SELECT nomPays, superficieKm²
FROM pays
WHERE superficieKm² >= 200000;
4/
SELECT COUNT(*)
FROM pays;
5/
SELECT nomPays, superficieKm²
FROM pays
WHERE superficieKm² = (SELECT MAX(superficieKm²) FROM pays);
6/
SELECT nomPays, capitale
FROM pays
INNER JOIN continent ON pays.numContinent = continent.NumContinent
WHERE nomContinent = 'Afrique'
ORDER BY nomPays;
7/
SELECT nomPays, capitale
FROM pays
INNER JOIN continent ON pays.numContinent = continent.NumContinent
WHERE nomContinent = 'Afrique'
ORDER BY superficieKm² DESC;
8 /
SELECT SUM(superficieKm²)
FROM pays
INNER JOIN continent ON pays.numContinent = continent.numContinent
WHERE nomContinent ='Afrique';
9/
SELECT nomContinent, SUM(superficieKm²)
FROM pays
INNER JOIN continent ON pays.numContinent = continent.numContinent
GROUP BY nomContinent;
10/
SELECT AVG(superficieKm²)
FROM pays;
11/
SELECT nomPays, COUNT(numFleuve)
FROM traversee
INNER JOIN pays ON traversee.numPays = pays.numPays
GROUP BY nomPays;
12/
SELECT nomPays
FROM pays
INNER JOIN continent ON pays.numContinent = continent.numContinent
WHERE superficieKm² <= 100000
AND nomContinent = 'Amérique'
ORDER BY superficieKm² ASC;
13/
SELECT nomPays, capitale
FROM pays, traversee
WHERE pays.numPays = traversee.numPays
GROUP BY nomPays, capitale
HAVING COUNT(*) > 2;
14/
SELECT p1.nomPays, p2.nompays
FROM pays p1, pays p2, frontalier
WHERE p1.numPays = numPays1
AND numPays2 = p2.numPays
ORDER BY p1.nomPays, p2.nomPays
-
1/
-
Voiture(numserie, couleur, prix, cout, marque, modele)
Arrivee(numserie,dateArr,magasin)
Client(numCli,nom,prenom,adresse)
Vendeur(numVen,nom,prenom,adresse,salairefixe,magasin)
Vente(numero,dateVente,prixachat,numserie,#numVen,#numCli)
2.1/
SELECT Voiture.numserie
FROM Voiture, Vente
WHERE Voiture.numserie = Vente.numserie
AND date > '2007-04-15'
2.2/
SELECT Voiture.numserie
FROM Voiture,Vente
WHERE Voiture.numserie = Vente.numserie
AND prixachat-cout >= ALL (SELECT prixachat-cout
FROM Voiture,Vente
WHERE Voiture.numserie = Vente.numserie)
2.3/
SELECT nomv, prenomv
FROM Vente,Voiture
WHERE Voiture.numserie = Vente.numserie
AND prix-prixachat >= ALL (SELECT prix-prixachat
FROM Voiture,Vente
WHERE Voiture.numserie = Vente.numserie)
2.4/
SELECT magasin, SUM(benef) as benefice
FROM (SELECT nom,prenom,magasin,
SUM(prixachat-cout-0.5*(prix-cout))-salaire as benef
FROM Voiture,Vente,Vendeur
WHERE Voiture.numserie = Vente.numserie
AND nomv = nom
AND prenomv = prenom
AND date BETWEEN ’2007-01-01’ AND ’2007-01-31’
GROUP BY nom,prenom,magasin) BeneficesVendeurs
GROUP BY magasin
2.5/
SELECT nomc,prenomc
FROM Vente,Voiture
WHERE Voiture.numserie = Vente.numserie
GROUP BY nomc,prenomc
HAVING SUM(prixachat-cout-0.5*(prix-cout)) >= ALL
(SELECT SUM(prixachat-cout-0.5*(prix-cout))
FROM Vente,Voiture
WHERE Voiture.numserie = Vente.numserie
GROUP BY nomc,prenomc)