Weryfikacja złączeń wielu tabel
Przyjrzyj się wynikom dla Albanii z poprzedniego zapytania. Widać, że fertility_rate z 2015 roku zostało sparowane ze unemployment_rate z 2010 roku – i odwrotnie.
| name | year | fertility_rate | unemployment_rate |
|---|---|---|---|
| Albania | 2015 | 1.663 | 17.1 |
| Albania | 2010 | 1.663 | 14 |
| Albania | 2015 | 1.793 | 17.1 |
| Albania | 2010 | 1.793 | 14 |
Zamiast czterech rekordów zapytanie powinno zwrócić dwa – po jednym dla każdego roku. Ostatnie złączenie wykonano na warunku c.code = e.code, bez uwzględnienia kolumny year. Twoim zadaniem w tym ćwiczeniu jest poprawienie zapytania tak, aby jawnie określało, że muszą zgadzać się zarówno code kraju, jak i year!
To ćwiczenie jest częścią kursu
Łączenie danych w SQL
Instrukcje do ćwiczenia
- Zmodyfikuj zapytanie tak, aby złączenie z tabelą
economiesodbywało się zarówno po kolumnieyear, jak icode.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
SELECT name, e.year, fertility_rate, unemployment_rate
FROM countries AS c
INNER JOIN populations AS p
ON c.code = p.country_code
INNER JOIN economies AS e
ON c.code = e.code
-- Add an additional joining condition such that you are also joining on year
___;