Zapytanie UNION, a następnie JOIN
Twoim celem jest stworzenie tego samego raportu co wcześniej, zawierającego następujące pola:
- season, które przyjmuje wartość
summerlubwinter - country
- events, pokazujące unikalną liczbę wydarzeń
W tym ćwiczeniu utwórz zapytanie, stosując podejście: najpierw UNION, potem JOIN. W tym celu użyj początkowego zapytania UNION jako podzapytania. Podzapytanie musi zawierać wszystkie niezbędne pola, w tym te używane w złączeniu.
Jak zawsze, możesz korzystać z diagramu E:R.
To ćwiczenie jest częścią kursu
Raportowanie w SQL
Instrukcje do ćwiczenia
- W podzapytaniu skonstruuj zapytanie zwracające pola
season,country_idievent, łącząc dane z letnich i zimowych igrzysk za pomocąUNION ALL. - Użyj
JOINoraz kolejnej instrukcjiSELECT, aby wyświetlić polaseason,countryi unikalną liczbęevents. - Zastosuj
GROUP BYdo wszystkich pól, które nie są agregowane. - Posortuj raport według
eventsw kolejności malejącej.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
-- 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 ____;