Last active
September 20, 2020 19:23
-
-
Save justinehell/81ecea122923a57d5a393fc0d402140e to your computer and use it in GitHub Desktop.
06 - SQL avancé
This file contains hidden or 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
// Retourne le nom des équipes et le nombre de joueurs par équipe, | |
// le tout classé par nombre de joueurs par équipe, de la plus nombreuse à la moins nombreuse. | |
SELECT name AS team, COUNT(*) AS nb_players | |
FROM team | |
JOIN player ON team.id=player.team_id | |
GROUP BY team_id | |
ORDER BY nb_players DESC; | |
+------------+------------+ | |
| team | nb_players | | |
+------------+------------+ | |
| Gryffindor | 36 | | |
| Slytherin | 21 | | |
| Ravenclaw | 15 | | |
| Hufflepuff | 12 | | |
+------------+------------+ | |
4 rows in set (0.00 sec) | |
// Retourne uniquement les noms des équipes complètes (ayant 14 joueurs ou plus, | |
// c’est-à- dire 7 joueurs et 7 remplaçants minimum), classés par ordre alphabétique. | |
SELECT name AS team, COUNT(*) AS nb_players | |
FROM team | |
JOIN player ON team.id=player.team_id | |
GROUP BY team_id | |
HAVING nb_players >= 14 | |
ORDER BY team; | |
+------------+------------+ | |
| team | nb_players | | |
+------------+------------+ | |
| Gryffindor | 36 | | |
| Ravenclaw | 15 | | |
| Slytherin | 21 | | |
+------------+------------+ | |
3 rows in set (0.00 sec) | |
// L’entraîneur des Gryffondor est superstitieux, son jour préféré est le lundi. | |
// Retourne la liste des joueurs de son équipe qui ont été enrôlés un lundi (il souhaite les faire jouer en priorité), | |
// et classe les résultats par date d’enrôlement chronologique. | |
SELECT firstname, lastname, name AS team, enrollment_date | |
FROM wizard | |
JOIN player ON wizard.id=player.wizard_id | |
JOIN team ON team.id=player.team_id | |
WHERE team.id=1 HAVING DAYOFWEEK(player.enrollment_date) = 2 | |
ORDER BY enrollment_date ASC; | |
+-----------+------------+------------+-----------------+ | |
| firstname | lastname | team | enrollment_date | | |
+-----------+------------+------------+-----------------+ | |
| George | Weasley | Gryffindor | 1991-08-26 | | |
| Alice | Longbottom | Gryffindor | 1992-02-17 | | |
| Cadogan | | Gryffindor | 1993-01-04 | | |
| Godric | Gryffindor | Gryffindor | 1993-08-30 | | |
| Sirius | Black | Gryffindor | 1994-01-10 | | |
| Aberforth | Dumbledore | Gryffindor | 1995-04-24 | | |
| Augusta | Longbottom | Gryffindor | 1999-10-25 | | |
+-----------+------------+------------+-----------------+ | |
7 rows in set (0.00 sec) |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment