Ostatnia aktualizacja: 1 października 2024
Czas czytania: 4 min
Spis treści

Co to jest FULL OUTER JOIN?

FULL OUTER JOIN to rodzaj połączenia w SQL, które zwraca wszystkie wiersze z obu łączonych tabel, w tym dopasowane i niedopasowane wiersze. Dopasowane wiersze z obu tabel są łączone, a niedopasowane wiersze z każdej tabeli są uwzględniane z wartościami NULL wypełniającymi brakujące pola.

W BigQuery FULL OUTER JOIN działa podobnie jak w innych dialektach SQL, ale ma pewne specyficzne cechy:

  • W BigQuery, w przypadku FULL OUTER JOIN, kolumny wyjściowe są wypełniane przez scalanie wartości z lewej i prawej tabeli, w tej kolejności.
  • BigQuery obsługuje klauzulę USING, która pozwala na połączenie tabel na podstawie jednej lub wielu kolumn.

Zastosowanie FULL OUTER JOIN

FULL OUTER JOIN jest przydatny w wielu scenariuszach analizy danych, w tym:

  • **Porównywanie danych z dwóch tabel:** FULL OUTER JOIN pozwala na identyfikację wszystkich różnic między dwoma tabelami, w tym wierszy obecnych tylko w jednej tabeli.
  • **Łączenie danych z różnych źródeł:** FULL OUTER JOIN umożliwia połączenie danych z różnych źródeł, nawet jeśli dane nie są w pełni dopasowane.
  • **Tworzenie kompletnych zestawów danych:** FULL OUTER JOIN może być użyty do utworzenia kompletnego zestawu danych, który zawiera wszystkie wiersze z obu tabel.

Przykład użycia w BigQuery

Załóżmy, że mamy dwie tabele w BigQuery:

Tabela: Produkty Kolumna: ID Kolumna: Nazwa Kolumna: Cena
1 Produkt A 10
2 Produkt B 20
3 Produkt C 30
Tabela: Zamówienia Kolumna: ID Kolumna: Nazwa Kolumna: Ilość
1 Produkt A 2
2 Produkt D 1

Chcemy połączyć te dwie tabele, aby uzyskać listę wszystkich produktów i ich zamówień, w tym produkty, które nie zostały zamówione, i zamówienia na produkty, które nie są w tabeli produktów.

Poniższy kod SQL pokazuje przykład użycia FULL OUTER JOIN w BigQuery:


SELECT
p.ID AS Produkt_ID,
p.Nazwa AS Produkt_Nazwa,
p.Cena AS Produkt_Cena,
o.ID AS Zamówienie_ID,
o.Nazwa AS Zamówienie_Nazwa,
o.Ilość AS Zamówienie_Ilość
FROM
`projekt.dataset.Produkty` AS p
FULL OUTER JOIN
`projekt.dataset.Zamówienia` AS o
ON
p.Nazwa = o.Nazwa

Wynik tego zapytania będzie zawierał następujące wiersze:

Produkt_ID Produkt_Nazwa Produkt_Cena Zamówienie_ID Zamówienie_Nazwa Zamówienie_Ilość
1 Produkt A 10 1 Produkt A 2
2 Produkt B 20 NULL NULL NULL
3 Produkt C 30 NULL NULL NULL
NULL NULL NULL 2 Produkt D 1

Najczęstsze błędy i sposoby ich unikania

Najczęstsze błędy popełniane przy użyciu FULL OUTER JOIN w BigQuery to:

  • **Niepoprawne użycie klauzul ON lub USING:** Upewnij się, że klauzula ON lub USING określa poprawne warunki łączenia tabel.
  • **Brak uwzględnienia wszystkich kolumn:** Upewnij się, że wszystkie kolumny, które chcesz wyświetlić w wyniku zapytania, są uwzględnione w klauzuli SELECT.
  • **Nieprawidłowe nazwy tabel lub kolumn:** Upewnij się, że nazwy tabel i kolumn są poprawne.

Optymalizacje i najlepsze praktyki

Aby zoptymalizować zapytania z użyciem FULL OUTER JOIN w BigQuery, należy:

  • **Użyj klauzul ON lub USING do określenia warunków łączenia tabel:** Ułatwi to BigQuery optymalizację zapytania.
  • **Ogranicz liczbę kolumn w klauzuli SELECT:** Im mniej kolumn, tym szybciej BigQuery będzie mógł przetworzyć zapytanie.
  • **Użyj klauzul WHERE i HAVING do filtrowania danych:** Pomoże to zmniejszyć liczbę wierszy, które BigQuery musi przetworzyć.
  • **Użyj funkcji agregujących, takich jak COUNT, SUM, AVG, MIN, MAX, aby zgrupować dane:** Pomoże to zmniejszyć rozmiar wyniku zapytania.

Porównanie z innymi dialektami SQL

FULL OUTER JOIN działa podobnie w innych dialektach SQL, takich jak MySQL, PostgreSQL i Oracle. Różnice mogą dotyczyć składni lub sposobu obsługi wartości NULL. Na przykład w niektórych dialektach SQL, aby wyświetlić wszystkie wiersze z obu tabel, należy użyć klauzul LEFT JOIN i RIGHT JOIN razem.

Udostępnij wpis
Newsletter

Zapisz się do Newslettera

Zapisując się, wyrażasz zgodę na przetwarzanie Twoich danych do celów marketingowych, zgodnie z naszą polityką prywatności.

Optymalizacja kosztów BigQuery

Poradnik

10 sposobów na optymalizację kosztów BigQuery
Looker Studio Dashoard

Poradnik

Looker Studio dla Początkujących – Co to jest Looker Studio i jak z niego korzystać?
Grafika prezentująca BigQuery

Tutorial

BigQuery dla początkujących. Jakie są sposoby przechowywania danych w BigQuery?
Google Search Console Dashboard

Dashboard analityczny

Dashboard analityczny SEO – Looker Studio
Grafika pokazująca 5 dobrych praktyk podczas tworzenia narzędzia Business Intelligence

Poradnik

Najlepsze praktyki tworzenia dashboardów analitycznych i biznesowych
Grafika pokazująca odwrócony proces ETL

Poradnik

Replikacja danych do BigQuery  – Jedyny przewodnik po procesach ETL i ELT w GCP jakiego potrzebujesz
Ikona plików cookies

Ustawienia plików cookies

Używamy plików cookies, aby zapewnić Ci najlepsze wrażenia z korzystania z naszej strony. Możesz wybrać, które pliki cookies chcesz zaakceptować.
Ikona plików cookies

Informacje o plikach cookies

Szanujemy Twoją prywatność

Używamy plików cookies lub podobnych technologii w celu zapewnienia Ci dostępu do serwisu, usprawniania jego działania, profilowania i wyświetlania treści dopasowanych do Twoich potrzeb. W każdej chwili możesz zmienić ustawienia plików cookies lub podobnych technologii poprzez zmianę ustawień prywatności w przeglądarce bądź aplikacji lub zmianę swoich preferencji w zakładce Ustawienia cookies w stopce strony. Pamiętaj, że zmiana ta może spowodować brak dostępu do niektórych funkcji serwisu.
Dane osobowe dotyczące korzystania z serwisu, w tym zapisywane i odczytywane z plików cookies lub podobnych technologii będą przetwarzane w celu zapewnienia dostępu do serwisu, w celach marketingowych, w tym profilowania, w celach wewnętrznych związanych ze świadczeniem usług oraz prowadzeniem działalności gospodarczej, w tym dowodowych, analitycznych i statystycznych, wykrywania i eliminowania nadużyć oraz w celu wykonywania obowiązków wynikających z przepisów prawa.
Przysługuje Ci prawo do dostępu do danych, ich usunięcia, ograniczenia przetwarzania, przenoszenia, sprzeciwu, sprostowania oraz cofnięcia zgód w każdym czasie. Szczegółowe informacje dotyczące przetwarzania danych oraz przysługujących Ci uprawnień, informacje dotyczące plików cookies lub podobnych technologii, w tym dotyczące możliwości zarządzania ustawieniami prywatności, znajdują się w Polityce Prywatności.