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で除外されているオセアニアの国があれば、その国名を返したいですよね。2つ目のステップでは、それを実現するアンチ結合を書きます!

지침 1/2

undefined XP
    1
    2
  • まず、countriesテーブルから、continentがOceaniaのすべての国について、codeとname(この順番で、エイリアスは付けない)を返すクエリを書いてください。
  • 返ってきたレコード数を確認し、15件を返す提供済みのINNER JOINと比較してください。