複数テーブルの結合の確認
下の表は、前のクエリにおけるアルバニアの結果です。2015年のfertility_rateが2010年のunemployment_rateと対応しており、その逆も起きていることがわかります。
| 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 |
本来、クエリが返すべきレコードは4件ではなく2件(各年に1件ずつ)返す必要があります。最後の結合はc.code = e.code のみで行われており、yearによる結合が含まれていませんでした。この演習では、国のcodeとyearの両方が一致するように、クエリを修正しましょう。
この演習はコースの一部です
SQLのデータ結合
演習の手順
yearとcodeの両方で、economiesに結合するよう、クエリを修正してください。
実践的なインタラクティブ演習
このサンプルコードを完成させて、この演習に挑戦してみましょう。
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
___;