--1 Obtenir la liste des 10 villes les plus peuplées en 2012 SELECT ville_slug FROM villes ORDER BY ville_population_2012 DESC LIMIT 10 ; --2 Obtenir la liste des 50 villes ayant la plus faible superficie SELECT ville_slug, ville_surface FROM villes ORDER BY ville_surface ASC LIMIT 50 ; --3 Obtenir la liste des départements d’outres-mer, c’est-à-dire ceux dont le numéro de département commencent par “97” SELECT departement_nom FROM departements WHERE departement_code LIKE '97%' ; --4 Obtenir le nom des 10 villes les plus peuplées en 2012, ainsi que le nom du département associé SELECT ville_slug, departement_nom FROM villes V JOIN departements D ON V.departement_id = D.departement_id ORDER BY ville_population_2012 DESC LIMIT 10 ; --5 Obtenir la liste du nom de chaque département, associé à son code et du nombre de commune au sein de ces département, en triant afin d’obtenir en priorité les départements qui possèdent le plus de communes SELECT D.departement_id, D.departement_nom, D.departement_code, COUNT(*) AS nombre_commune FROM villes V JOIN departements D ON V.departement_id = D.departement_id GROUP BY D.departement_id ORDER BY nombre_commune DESC ; --6 Obtenir la liste des 10 plus grands départements, en terme de superficie SELECT D.departement_id, D.departement_nom, SUM(ville_surface) AS supperficie FROM villes V JOIN departements D ON V.departement_id = D.departement_id GROUP BY D.departement_id ORDER BY supperficie DESC LIMIT 10; --7 Compter le nombre de villes dont le nom commence par “Saint” SELECT COUNT(*) AS nombre_villes_debut_par_saint FROM villes V WHERE V.ville_nom_reel LIKE 'Saint%' ; --8 Obtenir la liste des villes qui ont un nom existants plusieurs fois, et trier afin d’obtenir en premier celles dont le nom est le plus souvent utilisé par plusieurs communes SELECT V.ville_nom, COUNT(*) AS occurence FROM villes V GROUP BY V.ville_nom HAVING COUNT(*) > 1 ORDER BY occurence DESC ; --9 Obtenir en une seule requête SQL la liste des villes dont la superficie est supérieur à la superficie moyenne (17.25737493077501) SELECT V.ville_id, V.ville_nom, V.ville_surface FROM villes V WHERE V.ville_surface > ( SELECT AVG(ville_surface) FROM villes ) ORDER BY V.ville_nom ASC ; --10 Obtenir la liste des départements qui possèdent plus de 2 millions d’habitants SELECT D.departement_nom, SUM(ville_population_2012) AS la_population FROM departements D JOIN villes V ON V.departement_id = D.departement_id GROUP BY D.departement_nom HAVING SUM(ville_population_2012) > 2000000 ; --11 Remplacez les tirets par un espace vide, pour toutes les villes commençant par “SAINT-” (dans la colonne qui contient les noms en majuscule) SELECT V.departement_id, REPLACE(V.ville_nom, '-', ' ') FROM villes V WHERE V.ville_nom LIKE 'SAINT-%' ORDER BY V.ville_nom ASC ;