CommencezCommencez gratuitement

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 summer ou winter
  • 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

Voir le cours

Instructions de l’exercice

  • Dans la sous-requête, construisez une requête qui retourne season, country_id et event en combinant les Jeux d'été et d'hiver avec un UNION ALL.
  • Exploitez un JOIN et une autre instruction SELECT pour afficher les champs season, country et le nombre unique d'events.
  • Appliquez GROUP BY à tout champ non agrégé.
  • Triez le rapport par events en 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 ____;
Modifier et exécuter le code