CommencerCommencer gratuitement

Requête UNION puis JOIN

Votre objectif est de créer le même rapport que précédemment, qui contient les champs suivants :

  • season, qui renvoie soit summer soit winter
  • country
  • events, qui affiche le nombre d’épreuves uniques

Dans cet exercice, créez la requête en utilisant l’approche UNION d’abord, JOIN ensuite. Avec 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 diagramme E‑R.

Cet exercice fait partie du cours

Réaliser des rapports en SQL

Afficher le cours

Instructions

  • Dans la sous-requête, construisez une requête qui renvoie season, country_id et event en combinant les Jeux d’été et d’hiver avec un UNION ALL.
  • Utilisez un JOIN et une autre instruction SELECT pour afficher les champs season, country et le nombre unique d’events.
  • Appliquez GROUP BY à tous les champs non agrégés.
  • Triez le rapport par events dans l’ordre décroissant.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

-- 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