Überprüfung von Joins mit mehreren Tabellen
Sieh dir die Ergebnisse für Albanien aus der vorherigen Abfrage unten an. Offenbar wurde die Geburtenrate (fertility_rate
) für 2015 mit der Arbeitslosenquote (unemployment_rate
) für 2010 gepaart und umgekehrt.
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 |
Anstelle von vier Datensätzen sollte die Abfrage zwei zurückgeben, nämlich einen für jedes Jahr. Der letzte Join wurde für c.code = e.code
durchgeführt, ohne auch year
in den Join aufzunehmen. Das sollst du nun in dieser Übung korrigieren, indem du ausdrücklich angibst, dass sowohl das Länderkürzel code
als auch year
übereinstimmen müssen.
Diese Übung ist Teil des Kurses
Daten in SQL verbinden (JOIN)
Anleitung zur Übung
- Ändere deine Abfrage so, dass der Join mit der
economies
-Tabelle anhand der Felderyear
undcode
durchgeführt wird.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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
___;