Utwórz tabele:
Aby zrozumieć pełne połączenie, użytkownicy PostgreSQL muszą mieć dwa tabele w swoim systemie. Będziemy więc tworzyć dwa tabele i wstawić w nich rekordy. Otwórz edytor zapytania w bazie danych Postgres PGADMIN. Po pierwsze, utworzyliśmy tabelę o nazwie „WVEGS” za pomocą polecenia Utwórz tabelę w edytorze zapytania. Ta tabela reprezentuje rekordy warzyw wyprodukowanych w sezonie zimowym. Tabela zawiera kolumny wid i WName. Wstawka do instrukcji została użyta do wstawienia wartości w obu kolumnach „WVEGS”. Ikona „uruchom” z paska zadań PGADMIN została wykorzystana do przetworzenia dwóch zapytań.
Utwórz tabelę WVEGS (WID Int Key Primary, WNAME VARCHAR (250) NOT NULL);Komunikat o sukcesie na ekranie wyjściowym pokazuje, że dane zostały poprawnie wstawione w tabeli. Przypomnijmy rekordy tabeli „WVEGS” za pomocą opcji „Wyświetl/edytuj dane”, klikając prawym przyciskiem myszy na tabeli. W tej tabeli dodaliśmy dwa kolejne rekordy z widoku siatki bezpośrednio. Zapytanie użyte do pobrania tabeli jest podane w następujący sposób:
Wybierz * z publicznego.WVEGS ZAMÓWIENIE WOD ASC;Kolejna tabela, Svegs, została utworzona przy użyciu Create Table Command do przechowywania płyt dla warzyw wyprodukowanych w sezonie letnim. Wkładka do polecenia jest tutaj wykorzystywana do wstawienia rekordów w tej tabeli. Oba tabele zostały pomyślnie utworzone, jak pokazuje wyjście.
Utwórz tabelę SVEGS (SID INT LACE KEY, SNAME VARCHAR (250) NOT NULL);Tabela „Svegs” z włożonym rekordem można pobrać za pomocą opcji „Wyświetl/edytuj dane”, klikając prawym przyciskiem myszy w tabeli „Svegs”. Do tego można również użyć polecenia „Wybierz”, jak pokazano poniżej.
Wybierz * z publicznego.SVEGS ZAMÓWIENIE SID ASC;Przykład 01: Proste pełne połączenie
Zacznijmy od wdrożenia pełnego dołączenia do naszego pierwszego przykładu. Używamy zapytania Select w edytorze PostgreSQL GUI, aby wybrać rekordy z tabeli „Svegs” i „WVEGS”. Rysowaliśmy zarówno rekordy kolumny tabeli w tym zapytaniu, stosując pełny warunek połączenia na tabeli WVEGS. Wszystkie rekordy z obu tabel zostaną wyświetlone, w których identyfikatory tabeli „Svegs” i „Wvegs” są takie same, e.G., 1 do 5. Z drugiej strony, pełne połączenie zastąpi Null, gdzie identyfikator Svegs nie spotyka się z identyfikatorem tabeli „WVEGS”. Wyjście określonego zapytania o pełne połączenie zostało wykazane w SNAP.
Wybierz SID, Sname, wid, WName z Svegs Full Dołącz WVEGS na SID = wid;Jeśli chcesz zastąpić pełną klauzulę słów kluczowych łączenia pełnym zewnętrznym połączeniem, możesz to zrobić w tym przykładzie. Tak więc zastąpiliśmy pełne połączenie pełnym zewnętrznym połączeniem w naszym zapytaniu, aby zobaczyć wyniki. Pozostałe zapytanie było takie samo, jak podano poniżej. Odkryliśmy, że oba zapytania działają tak samo, a wyjście jest również dość podobne. Wyjście zostało również pokazane w Snap.
Wybierz Sid, Sname, wid, WName z Svegs Full zewnętrzny WVEGS na SID = wid;Przykład 02: Waliasy tabeli za pomocą pełnego połączenia
Powyższy przykład pokazał, jak pełne połączenie działa po prostu idealnie, aby pobrać rekordy. Teraz przyjrzymy się pełnym użyciu łączenia w celu wykonania aaliasów w bazie danych PostgreSQL. Aadia tabeli to najprostsza i potężna technika stosowana w PostgreSQL i innych bazach danych, aby podać tabele do użycia w pełnym połączeniu, niektóre najprostsze nazwy, aby uniknąć niedogodności związanych z wykorzystaniem trudnych nazw tabel. Jest to wymiana oryginalnej nazwy tabeli. Podczas gdy pełne połączenie działa podobnie jak w powyższym przykładzie. Tak więc użyliśmy tego samego zapytania, co w powyższym przykładzie z małą aktualizacją. Przypisaliśmy tabele nowe nazwy jako aliasy, e.G., S I w. Poniższe zapytanie pokazuje to samo wyjście.
Wybierz s.Sid, sname, wid, wname from svegs s Full dołącz do wvegs w on s.Sid = w.Wid;Przykład 03: Korzystanie z klauzuli Where
Będziemy używać klauzuli Where w zapytaniu, mając pełne przyłączenie się do niego w tym przykładzie. Instrukcja pokazuje, że zapytanie musi pobierać wszystkie zapisy obu tabel, z wyjątkiem zapisu nazwy warzywnej „ogórka”. Wyjście pokazuje wszystkie dane, ale brakuje warzyw z obu tabel z identyfikatorem „3”. Z tego powodu „kalafior” warzywa z tabeli Wvegs został również zignorowany ze względu na jego id „3”.
Wybierz Sid, Sname, wid, WName z Svegs Full Dołącz do WVEGS na sid = wid Where Sname != „Cucumber”;Przykład 04:
Zaktualizujmy trochę „wvegs”. Dodaliśmy w nim dodatkową kolumnę „sid”. Dodaliśmy kilka rekordów w niektórych rzędach kolumny SID, a niektóre pozostały puste. Tabela została zapisana przez stukanie ikony zapisu z paska zadań.
Po tej aktualizacji zastosowaliśmy pełny zewnętrzny połączenie na tabeli Svegs zamiast w tabeli WVEGS, tak jak to zrobiliśmy w powyższych przykładach. Rysowaliśmy rekordy w imieniu kolumny SID wspomnianej w tabeli WVEGS i tabeli SVEGS, używając aliasów. Wyjście wyświetla wszystkie rekordy, w których identyfikatory z SID obu tabel dopasowały. Wyświetla Null, gdzie identyfikatory nie są podobne w kolumnie SID w tabeli Svegs i WVEGS.
Wybierz wid, wname, sname z WVEGS w pełnym zewnętrznym połączeniu svegs s na s.Sid = w.Sid;Przykład 05:
Skorzystajmy z klauzuli Where w tym samym powyższym zapytaniu, które w przykładzie użyto. Pełne połączenie zewnętrzne zastosowano tutaj, aby pobrać wiersz danych z obu tabel, w których tabela WVEGS zawiera wartość zerową w nazwie kolumny. Wyjście kolejnej wartości kolumny innej tabeli, „Sname” w przeciwieństwie do zerowej kolumny WVEGS, kolumna „WName” to „ogórka”.
Z drugiej strony wyjście kolejnych wartości kolumn innej tabeli „WNAME”, w przeciwieństwie do kolumny zerowej kolumny Svegs „Sname” to „marchewka” i „czerwone chili”.
Wniosek:
Ten artykuł zawiera pełne przykłady łączenia w PostgreSQL w celu zebrania wszystkich danych na określone warunki, został zadowolony. Pełna klauzula łączenia może osiągnąć swój cel, gdy jest używany w ramach polecenia Select. Koncepcja pełnego połączenia staje się łatwiejsza po użyciu aliasów tabeli i gdzie klauzule. Wykorzystanie pełnego połączenia z wymienionymi klauzulami sprawia, że nasz artykuł jest łatwiejszy do zrozumienia i wdrożenia dla użytkowników PostgreSQL.