1. Nauka
  2. /
  3. Kursy
  4. /
  5. Łączenie danych w SQL

Connected

ćwiczenie

Diagnozowanie problemów za pomocą anti join

Świetna robota z semi joinami! Anti join to pokrewne i bardzo przydatne narzędzie do łączenia danych. Może być szczególnie pomocne, gdy chcesz sprawdzić, czy w wynikach złączenia nie brakuje jakichś rekordów.

Powiedzmy, że interesują cię waluty krajów Oceanii. Napisano poniższy INNER JOIN, który zwraca 15 rekordów. Teraz chcesz upewnić się, że wszystkie kraje Oceanii z tabeli countries są uwzględnione w tym wyniku. Zrobisz to w pierwszym kroku.

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';

Jeśli któreś kraje Oceanii zostały pominięte w tym INNER JOIN, chcesz zwrócić ich nazwy. W drugim kroku napiszesz do tego celu zapytanie z anti joinem!

Instrukcje 1/2

undefined XP
    1
    2
  • Zacznij od napisania zapytania, które zwróci kolumny code i name (w tej kolejności, bez aliasów) dla wszystkich krajów na kontynencie Oceania z tabeli countries.
  • Zwróć uwagę na liczbę zwróconych rekordów i porównaj ją z podanym INNER JOIN, który zwraca 15 rekordów.