-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
9d1d50d
commit 926af2e
Showing
9 changed files
with
344 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,6 @@ | ||
-- 1. Modifiez la requête ci-dessus afin d’afficher la population de “Germany”. | ||
SELECT population FROM world WHERE name = 'Germany'; | ||
-- 2. Modifiez la requête ci-dessus afin d’afficher le nom et la population des pays “Sweden”, “Norway” et “Denmark”. | ||
SELECT name, population FROM world WHERE name IN ('Sweden', 'Norway', 'Denmark'); | ||
-- 3. Créez une requête permettant d’afficher les pays dont la superficie est supérieure à 200 000 mais inférieure à 300 000. | ||
SELECT name FROM world WHERE area > 200000 AND area < 300000; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,16 @@ | ||
-- 1. Créez une requête permettant de trouver les noms de pays commençant par la lettre B. | ||
SELECT name FROM world WHERE name LIKE "B%"; | ||
-- 2. Créez une requête permettant de trouver les noms de pays commençant par “Al”. | ||
SELECT name FROM world WHERE name LIKE "Al%"; | ||
-- 3. Créez une requête permettant de trouver les noms de pays finissant par la lettre y. | ||
SELECT name FROM world WHERE name LIKE "%y"; | ||
-- 4. Créez une requête permettant de trouver les noms de pays finissant par “land”. | ||
SELECT name FROM world WHERE name LIKE "%land"; | ||
-- 5. Créez une requête permettant de trouver les noms de pays contenant la lettre w. | ||
SELECT name FROM world WHERE name LIKE "%w%"; | ||
-- 6. Créez une requête permettant de trouver les noms de pays contenant “oo” ou “ee”. | ||
SELECT name FROM world WHERE name LIKE "%oo%" OR name LIKE "%ee%" ; | ||
-- 7. Créez une requête permettant de trouver les noms de pays contenant au moins trois fois la lettre a. | ||
SELECT name FROM world WHERE name LIKE "%a%a%a%" ; | ||
-- 8. Créez une requête permettant de trouver les noms de pays ayant la lettre r comme seconde lettre. | ||
SELECT name FROM world WHERE name LIKE "_r%" ; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
-- 1. Créez une requête permettant d’afficher toutes les colonnes de la table students. | ||
SELECT * FROM students ; | ||
-- 2. Créez une requête permettant de filtrer la table et d’afficher les élèves âgés de strictement plus de 20 ans. | ||
SELECT * FROM students WHERE age > 20; | ||
-- 3. Créez une requête permettant de faire un classement des élèves selon leur note dans un ordre croissant, puis dans un ordre décroissant. | ||
SELECT * FROM students ORDER BY grade ASC; | ||
SELECT * FROM students ORDER BY grade DESC; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,11 @@ | ||
-- 1. Créez une requête permettant d’afficher les prix nobels de 1986. | ||
SELECT * FROM nobel WHERE yr = 1986 ; | ||
-- 2. Créez une requête permettant d’afficher les prix nobels de littérature de 1967. | ||
SELECT * FROM nobel WHERE subject = 'Literature' AND yr = 1967 ; | ||
-- 3. Créez une requête permettant d’afficher l’année et le sujet du prix nobel d’Albert Einstein. | ||
SELECT yr, subject FROM nobel WHERE winner = 'Albert Einstein'; | ||
-- 4. Créez une requête permettant d’afficher les détails (année, sujet, lauréat) des lauréats du prix de Littérature de 1980 à 1989 inclus | ||
SELECT yr, subject, winner FROM nobel WHERE subject = 'Literature' AND yr >= 1980 AND yr <= 1989 ; | ||
-- 5. Créez une requête permettant d’afficher les détails des lauréats du prix de Mathématiques. | ||
SELECT yr, subject, winner FROM nobel WHERE subject = 'Mathematics'; | ||
-- Combien y en a-t-il ? 0, il n'existe pas de prix Nobel de Mathématiques |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,17 @@ | ||
-- 1. Créez une requête permettant d’afficher les pays dont la population est supérieure à celle de "Russia". | ||
SELECT name FROM world WHERE population > (SELECT population FROM world WHERE name = "Russia") ; | ||
|
||
-- 2. Créez une requête permettant d’afficher les pays d'Europe dont le PIB par habitant est supérieur à celui d’ "Italy". | ||
SELECT name FROM world WHERE region LIKE '%EUROPE%' AND gdp_per_capita > (SELECT gdp_per_capita FROM world WHERE name = 'Italy'); | ||
|
||
-- 3. Créez une requête permettant d’afficher les pays dont la population est supérieure à celle du Royaume-Uni mais inférieure à celle de l'Allemagne. | ||
SELECT name FROM world WHERE population > (SELECT population FROM world WHERE name = 'United Kingdom') AND population < (SELECT population FROM world WHERE name = 'Germany'); | ||
|
||
-- 4. Créez une requête permettant d’afficher le nom et la population de chaque pays d'Europe, en pourcentage de la population de l'Allemagne. | ||
SELECT name, (population / (SELECT population FROM world WHERE name = 'Germany')) * 100 AS percentage_of_germany_population FROM world WHERE region LIKE '%EUROPE%'; | ||
|
||
-- 5. Créez une requête permettant de trouver le plus grand pays de chaque continent, en indiquant son continent, son nom et sa superficie. | ||
SELECT region, name, area FROM world WHERE area IN (SELECT MAX(area) FROM world GROUP BY region); | ||
|
||
-- 6. Créez une requête permettant de trouver les continents où tous les pays ont une population inférieure ou égale à 25 000 000. | ||
SELECT region FROM world GROUP BY region HAVING MAX(population) <= 25000000; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
-- 1. Créez une requête permettant d’afficher la population totale du monde. | ||
SELECT SUM(population) AS total_population FROM world ; | ||
|
||
-- 2. Créez une requête permettant d’afficher la population totale de chacun des continents. | ||
SELECT region, SUM(population) AS total_region_population from world GROUP BY region ; | ||
|
||
-- 3. Créez une requête permettant d’afficher le PIB total du continent de chacun des continents. | ||
SELECT region, SUM(gdp_per_capita) AS total_region_gdp from world GROUP BY region ; | ||
|
||
-- 4. Créez une requête permettant d’afficher le PIB total du continent africain. | ||
SELECT SUM(total_african_gdp) AS overall_gdp_for_africa FROM (SELECT region, SUM(gdp_per_capita) AS total_african_gdp FROM world GROUP BY region) AS gdp_per_capita WHERE region LIKE "%AFRICA%"; | ||
|
||
-- 5. Créez une requête permettant d’afficher le nombre de pays ayant une superficie supérieure ou égale à 1 000 000m². | ||
SELECT COUNT(name) FROM world WHERE area >= 1000000; | ||
|
||
-- 6. Créez une requête permettant d’afficher la population totale des pays suivants : Estonia, Latvia, Lithuania. | ||
SELECT SUM(population) FROM world WHERE name IN ('Estonia', 'Latvia', 'Lithuania'); | ||
|
||
-- 7. Créez une requête permettant d’afficher le nombre de pays de chaque continent. | ||
SELECT region, COUNT(name) AS countries FROM world GROUP BY region; | ||
|
||
-- 8. Créez une requête permettant d’afficher les continents ayant une population totale d’au moins 100 millions d’individus. | ||
SELECT region FROM world GROUP BY region HAVING SUM(population) >= 100000000; |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,54 @@ | ||
-- 1. Observez le schéma relationnel de la base de données UEFA EURO 2012. Analysez les cardinalités. | ||
|
||
-- Selon le modèle relationnel de la base de données UEFA EURO 2012. On trouve des cardinalités de type un-à-un (1:1) :càd que chaque ligne dans la première table est liée à une seule ligne dans la deuxième table et que chaque ligne dans la deuxième table est liée à une seule ligne dans la première table. | ||
-- On trouve également des cardinalités de type 0:N souvent appelée "zéro à plusieurs" et elles relèvent de la catégorie d'une relation un-à-plusieurs (1:N) : càd que chaque ligne dans la première table peut être liée à plusieurs lignes dans la deuxième table et que chaque ligne dans la deuxième table est liée à une seule (1:N) ou à aucune (0:N) ligne dans la première table. | ||
|
||
-- Dans cet exemple: | ||
|
||
-- Une équipe peut marquer 0 ou plusieurs buts, et un but est marqué par une seule équipe. | ||
-- Relation : Un-à-Plusieurs (1:N) | ||
-- Explication : Chaque équipe peut marquer plusieurs buts, mais chaque but est attribué à une seule équipe. | ||
|
||
-- Une équipe peut jouer 0 ou plusieurs matchs, et un match est joué par une seule équipe. | ||
-- Relation : Un-à-Plusieurs (1:N) | ||
-- Explication : Chaque équipe peut jouer à plusieurs matchs, mais chaque match est associé à une seule équipe. | ||
|
||
-- Un but est marqué dans un seul match, et un match peut avoir 0 ou plusieurs buts. | ||
-- Relation : Un-à-Plusieurs (1:N) | ||
-- Explication : Chaque but est lié à un match spécifique, mais un match peut avoir plusieurs buts marqués. | ||
|
||
|
||
|
||
-- 2. La requête qui permet d’afficher le but marqué par un joueur dont le nom de famille est "Bender". L'astérisque (*) indique qu'il faut énumérer toutes les colonnes du tableau - une façon d’appeler toutes les colonnes de la table goal (matchid, teamid, player, gtime). Modifiez cette requête afin d’afficher le numéro de match et le nom du joueur pour tous les buts marqués par l'Allemagne. Afin d’identifier les joueurs allemands, vérifiez que : teamid = 'GER' | ||
SELECT matchid, player FROM goal WHERE teamid = 'GER'; | ||
|
||
-- 3. Créez une requête permettant d’afficher les colonnes id, stadium, team1, team2 pour le match dont l’id est 1012. | ||
SELECT id, stadium, team1, team2 FROM game WHERE id = 1012; | ||
|
||
-- 4. La requête suivante permet de joindre la table game et la table goal sur la colonne id-matchid. Modifiez cette requête afin d’afficher player, teamid, stadium et mdate de chaque but allemand. | ||
SELECT player, teamid, stadium, mdate FROM game JOIN goal ON id = matchid WHERE teamid = 'GER'; | ||
|
||
-- 5. Créez une requête permettant d’afficher team1, team2 et player pour chaque but marqué par un joueur appelé Mario. | ||
SELECT team1, team2, player FROM game JOIN goal ON id = matchid WHERE player LIKE '%Mario%'; | ||
|
||
-- 6. Créez une requête permettant de joindre la table goal et la table eteam sur les clés id - teamid. | ||
SELECT teamname, player, gtime FROM eteam JOIN goal ON id = teamid; | ||
|
||
-- 7. Créez une requête permettant d’afficher player, teamid, coach, gtime pour tous les buts marqués dans les 10 premières minutes des matchs. | ||
SELECT player, teamid, coach, gtime FROM goal JOIN eteam ON teamid = id WHERE gtime <= 10; | ||
|
||
-- 8. La requête suivante permet de joindre la table game et la table eteam sur les clés team1 - eteam.id. Créez une requête permettant d’afficher les dates des matches ainsi que le nom de l'équipe dont "Fernando Santos" était le coach de l’équipe team1. | ||
SELECT mdate, teamname FROM game JOIN eteam ON team1 = id WHERE coach = 'Fernando Santos'; | ||
|
||
-- 9. Créez une requête permettant d’afficher la liste des joueurs pour chaque but marqué lors d'un match dont le stade était le “National Stadium, Warsaw”. | ||
SELECT player FROM game JOIN goal ON id = matchid WHERE stadium = 'National Stadium, Warsaw'; | ||
|
||
-- 10. Créez une requête permettant d’afficher le nombre total de buts marqués pour chaque équipe de la table goal. | ||
SELECT teamid, COUNT(*) FROM goal GROUP BY teamid; | ||
|
||
-- 11. Créez une requête permettant d’afficher les stades et le nombre de buts marqués dans chacun des stades de la jointure de game-goal. | ||
SELECT stadium, COUNT(*) FROM game JOIN goal ON id = matchid GROUP BY stadium; | ||
|
||
-- 12. Pour chaque match où l’équipe de France a marqué, créez une requête permettant d’afficher l'id du match, la date du match et le nombre de buts marqués par "FRA". | ||
SELECT matchid, mdate, COUNT(*) FROM game JOIN goal ON id = matchid WHERE teamid = 'FRA' GROUP BY matchid; | ||
|
Oops, something went wrong.