Kurs PostgreSQL 11 – Full Outer Join CZ.17

Print Friendly, PDF & Email

W poprzednich dwóch wpisach pokazałem w jaki sposób używać inner join oraz left join. W dzisiejszym wpisie pokażę o co chodzi w full outer join. Po krótce, zapytanie zwróci wszystkie wiersze które:

  1. Pasują tylko do tabeli lewej,
  2. Pasują tylko do tabeli prawej,
  3. Tabela lewa ma pasującą wartość w tabeli prawej

Czyli dla jasności pokaże wszystkie wyniki nawet wtedy, gdy druga z tabel wyświetli wartość nieokreśloną NULL.

PostgreSQL Full Outer Join Nieco teorii…

Poniżej schemat użycia full outer join.

Przygotuj teraz dwie tabele z danymi, które pozwolą przećwiczyć tę lekcję. Pierwsza tabela o nazwie departments(działy), będzie zawierała id działu oraz jego nazwę. Druga o nazwie employees (pracownicy), będzie przechowywała imię oraz nazwisko pracownika oraz przypisanie jego osoby do działu.

Poniżej insert (o którym dowiesz się więcej później), który doda informacje o działach oraz pracownikach do tabel. Na ten moment po prostu przekopiuj ten kod i wykonaj go w query tool w PostgreSQL.

Po poprawnym wykonaniu tych poleceń, zobaczysz dane w tabelkach. Przejdź zatem do przetestowania full join.

Przykłady,przykłady…

Poniżej przykłady użycia full join. Pierwszy pokazuje pełne informacje z obydwu tabel na temat pracownika oraz działu w którym pracuje. Zobaczysz również pracownika Maciej Kot, który nie jest przypisany do żadnego działu. Drugim przypadkiem jest dział production do którego nie został przypisany żaden pracownik. Widzisz, że full join pokazał każdy z tych 3 przypadków, który opisałem na wstępie.

Podobnie jak to miało miejsce w poprzednich wpisach możesz użyć klauzuli WHERE, aby pobrać dział, który nie ma przypisanego żadnego pracownika, oraz pracownika, który nie jest przypisany do żadnego działu.

W wyniku tego zapytani powinien pojawić się tylko jeden rekord z działem production.

W tym przypadku powinien pojawić się również jeden wiersz pracownikiem Maciej Kot, który nie ma przypisanego żadnego działu.

To tyle w tym wpisie, zapraszam na kolejny, w którym poznasz Left Join.

Print Friendly, PDF & Email

Dziękuję Ci, za poświęcony czas na przeczytanie tego artykułu. Jeśli był on dla Ciebie przydatny, to gorąco zachęcam Cię do zapisania się na mój newsletter, jeżeli jeszcze Cię tam nie ma. Proszę Cię także o “polubienie” mojego bloga na Facebooku oraz kanału na YouTube – pomoże mi to dotrzeć do nowych odbiorców. Raz w tygodniu (niedziela punkt 17.00) otrzymasz powiadomienia o nowych artykułach / projektach zanim staną się publiczne. Możesz również pozostawić całkowicie anonimowy pomysł na wpis/nagranie.

Link do formularza tutaj: https://beitadmin.pl/pomysly

Pozostaw również komentarz lub napisz do mnie wiadomość odpisuję na każdą, jeżeli Masz jakieś pytania:).

Dodaj komentarz

beitadmin.pl - Droga Administratora IT