1. 学ぶ
  2. /
  3. コース
  4. /
  5. SQLのデータ結合

Connected

演習

アンチ結合を使った問題

セミ結合は習得できましたか?次のアンチ結合は、それに関連した結合ツールです。結合で返されるレコード数が正しいかどうかを確認する際に特に役立ちます。

オセアニアの国々の通貨を調べたいとしましょう。以下のINNER JOINを記述すると、15件のレコードが返されます。ここでは、countriesテーブルに含まれるすべてのオセアニア諸国がこの結果に含まれているかどうかを確認します。最初のステップでこれを行いましょう。

SELECT c1.code, name, basic_unit AS currency
FROM countries AS c1
INNER JOIN currencies AS c2
ON c1.code = c2.code
WHERE c1.continent = 'Oceania';

このINNER JOINから除外されているオセアニアの国がある場合、それらの国名を返したいと思います。次のステップでアンチ結合を使ってこれを実現しましょう。

指示1 / 2

undefined XP
    1
    2
  • まず、countriesテーブルからcontinentがOceaniaであるすべての国のcodeとnameを、この順番でエイリアスを使わずに返すクエリを記述しましょう。
  • 返されたレコード数を確認し、15件を返したINNER JOINと比較してみましょう。