Requête UNION puis JOIN
Votre objectif est de créer le même rapport qu'auparavant, qui contient les champs suivants :
- season, qui retourne soit
summerouwinter - country
- events, qui affiche le nombre unique d'événements
Dans cet exercice, créez la requête en utilisant l'approche UNION d'abord, JOIN ensuite. En adoptant cette approche, vous devrez utiliser la requête UNION initiale comme sous-requête. La sous-requête devra inclure tous les champs pertinents, y compris ceux utilisés dans une jointure.
Comme toujours, n'hésitez pas à consulter le E:R Diagram.
Cette activité fait partie du cours
Création de rapports en SQL
Instructions de l’exercice
- Dans la sous-requête, construisez une requête qui retourne
season,country_ideteventen combinant les Jeux d'été et d'hiver avec unUNION ALL. - Exploitez un
JOINet une autre instructionSELECTpour afficher les champsseason,countryet le nombre unique d'events. - Appliquez
GROUP BYà tout champ non agrégé. - Triez le rapport par
eventsen ordre décroissant.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
-- Add outer layer to pull season, country and unique events
SELECT
____,
____,
____ AS events
FROM
-- Pull season, country_id, and event for both seasons
(SELECT
____ AS season,
____,
____
FROM ____
____
SELECT
____ AS season,
____,
____
FROM ____) AS subquery
JOIN ____ AS c
ON ____
-- Group by any unaggregated fields
GROUP BY ____
-- Order to show most events at the top
ORDER BY ____;