Lewy dołącz do Postgresql

Lewy dołącz do Postgresql
PostgreSQL łączenie to funkcja, która umożliwia łączenie kolumn z jednej tabeli z jedną lub więcej tabel na podstawie wspólnych kolumn między powiązanymi tabelami. Istnieje wiele rodzajów połączeń, takich jak wewnętrzny dołączenie, zewnętrzne połączenie, korzysta. W tym artykule zdefiniuje lewicę na dwa typy:
  • Lewe zewnętrzne połączenie
  • Lewe wewnętrzne dołączenie

Wyjaśnimy każdy typ z określonymi przykładami.

Składnia

Wybierz TABLE_A.Columna, Table_A.kolumnab, table_b.Columna
Z tabeli_a
Lewy dołącz do tabeli_b
Na tabeli_a.Matching_Column = TABLE_B.Matching_Column;

Table_a implikuje pierwszą tabelę, a tabela_b. Matching_Column to kolumna obecna w obu tabelach, może mieć różne nazwy kolumn.

  • Składnia pokazuje, że musimy określić dwie tabele za pomocą instrukcji Select.
  • Po drugie, pokazujemy główny stół.
  • Po trzecie, wspominamy o tabeli, a główny stół utworzył połączenie z.

Aby osiągnąć zrozumienie połączenia z lewicami, musimy utworzyć dwa tabele w PostgreSQL. Oba tabele są tworzone za pomocą polecenia „Utwórz tabelę”. Przykładowy instrukcja jest podana poniżej. Niech nazwa tabeli „Item”:

>> Utwórz elementy tabeli (ID INTEGER, Nazwa varchar (10), kategoria Varchar (10), Order_NO Liczba całkowita, adres varchar (10), expire_month varchar (10));

Teraz dodaj wartości w tabeli za pomocą „Wstaw instrukcję”:

>> Wstaw wartości elementów (1, „lalka”, „zabawka”, 4, „adres”);

Korzystając z tego polecenia, wartości są wprowadzane w jednym rzędzie tabeli.

Teraz, wracając do przykładu, mamy tutaj dwa tabele, jeden to „przedmioty”, a drugi to „zamówienia”. Możesz zobaczyć zawartość tabel za pomocą polecenia „Wybierz”:

Tabela 1-elementowa:

TABELA 2 WSTĘP:

Przykład 1:
Rozważ oba tabele. Te tabele są tworzone w taki sposób, że jedna kolumna tworzy związek między tymi dwoma tabelami. Na przykład Order_NO odgrywa rolę ustanowienia linku. Poniższe polecenie używa klauzuli lewego połączenia, aby dołączyć do tabeli „elementy” z „Zamówienia”:

>> Wybierz elementy.id, nazwa, zamówienie z elementów lewe zamówienia na zamówienia na zamówienia.order_id = elementy.order_no zamówienie według nazwy;

Tutaj otrzymujemy wynikową tabelę, gdy wybraliśmy „ID” i „Nazwa” z tabeli elementów i Order_NO z tabeli zamówień, więc te trzy kolumny są wyświetlane. Gdy wiersz z tabeli elementów nie ma pasującego wiersza do tabeli zamówień, wówczas wartości kolumny Order_ID tego wiersza są zerowe.

Przykład 2:
Ten przykład przypomina poprzedni, ale różni się klauzulą ​​„gdzie”. Pomaga to znaleźć zamówienia, które nie są obecne w tabeli zamówień. Odbywa się to przy użyciu dodatkowego instrukcji, która pokazuje kolumnę pustą, porównując wartości z przestrzenią. Jeśli nie ma żadnej wartości, wybierz identyfikator i nazwę. Ten przykład jest powiązany z zewnętrznym połączeniem lewym. Zewnętrzne połączenie z lewej strony jest tym, w którym, jednocześnie uzyskując wynikową wartość po zastosowaniu ograniczeń, wszystkie elementy należą do pojedynczej tabeli (lewa tabela). Jeśli pojedynczy element jest dopasowany, wynik jest daleki od zewnętrznego lewicy:

>> Wybierz elementy.Id, przedmioty. Nazwa, order_id z przedmiotów lewych zamówień na zamówienia.order_id = elementy.Order_no, gdzie zamówienia. ID to Null Order po nazwie;

Obraz pokazuje, że wszystkie sześć rzędów w tabeli „Elementy” różni się od tabeli „Zamówienia”. Lub tabela „zamówień” nie zawiera tych wartości. Dlatego cała kolumna jest pusta.

Przykład 3:
Ten przykład pokazuje połączenie między dwoma tabelami bezpośrednio. Jak w instrukcji Select, bierzemy dwie kolumny z elementów tabeli i jednej kolumny z zamówień tabeli. Ale dla tej koncepcji musimy wymienić nazwę kolumny z nazwą tabeli według „kropka-metod”, która określa kolumnę konkretnej tabeli. Jest to przykład połączenia z wewnętrznym lewym, ponieważ niektóre części obu tabel są obecne w wynikającym z tego tabeli:

>> Wybierz nazwę, kategoria, zamówienia.Adres z przedmiotów pozostawionych zamówień na zamówienia.order_id = elementy.nr zamówienia,

Stąd wynikową tabelą będzie kombinacja kolumn z obu tabel. Kolumna adresu będzie zawierać tylko adres tabeli „Zamówienia”, która pasuje do adresu tabeli „Elementy”.

Podobnie, jeśli zmienimy instrukcję „Dot-metod”, robi to różnicę. W tym przykładzie zastąpiliśmy „zamówienia.adres ”z kolumną adresu w tabeli elementów„ Elementy.adres":

>> Wybierz nazwę, kategoria, elementy.Adres z przedmiotów pozostawionych zamówień na zamówienia.order_id = elementy.nr zamówienia,

Teraz możesz zauważyć, że kolumna adresowa zawiera wszystkie wiersze wypełnione danymi obecnymi w tabeli „elementy”.

Przykład 4:
Wybrano więcej niż dwie kolumny z każdej tabeli. Czasami musimy zmniejszyć redundancję, aby uniknąć duplicy danych, łącząc dwie tabele. Można to zrobić tylko za pomocą ograniczeń na więcej niż jednej kolumnie w celu pobrania precyzyjnych i cennych danych, które są spójne w obu tabelach. Tak więc w tym przykładzie chcemy wyświetlić nazwę, adres i order_no, które są obecne tylko w tabeli elementów, a nie w tabeli „Zamówienia”:

>> Wybierz nazwę, zamówienia_no, order_id, elementy.Adres z przedmiotów pozostawionych zamówień na zamówienia.order_id = elementy.Order_no, gdzie zamówienia są zerowe;

Aby uzyskać pustą kolumnę, zastosowaliśmy ograniczenie NULL. W tym przykładzie ponownie określliśmy adres w tabeli elementów, aby umożliwić dyskryminację kolumną adresu. Ale w nadchodzącym przykładzie zastąpiliśmy adres „Order_day” z tabeli „Zamówienia”. Po wymianie kolumny zarówno Order_ID, jak i Order_day są wolnymi kolumnami w wynikającym z tego tabeli:

>> Wybierz nazwę, zamówienia_no, zamówienie, zamówienia_day z elementów pozostawione zamówienia na zamówienia na zamówienia.order_id = elementy.Order_no, gdzie zamówienia są zerowe;

Wspomnialiśmy tylko o tym, że Order_Id był null. Ale dlaczego „Order_day” jest pusty?

Jest to oczywisty czynnik, że jeśli wybraliśmy tylko te rzędy zamówień_no, które nie są obecne w tabeli „Zamówienia”, więc jak można mieć te wartości „Order_day”, których Order_ID nie są obecne.

Wdrożenie za pośrednictwem PGADMIN

Aby zaimplementować polecenia po stronie PGADMIN, musisz podać hasło na początku. Teraz przejdź do lewego paska. Dowiesz się o bazach danych na serwerze. Rozwiń bazę danych Postgres, ponieważ wdrożyliśmy nasze zapytania tutaj. Po rozszerzeniu otrzymasz katalogi, w tym dane z tabeli:

Teraz kliknij prawym przyciskiem myszy w tabeli i wybierz narzędzie zapytania:

Weźmy ten sam przykład, jak opisano powyżej, aby utworzyć PGADMIN w użyciu. Napisz następujące zapytanie w części Snap i w części Edytora zapytania. Aby wykonać polecenie, przejdź do wspomnianego powyżej paska narzędzi nawigacji. Oto symbol jak symbol gry w muzyce. Wybierz to, a zapytanie zostanie wykonane. Jest pokazany na wyjściu danych:

Wniosek

Złączenie PostgreSQL łączy kolumny z różnych tabel z podobnymi kolumnami. W szczególności lewy połączenie łączy stół po lewej stronie. Oznacza to, że właściwa tabela jest wspomniana najpierw w poleceniu, a następnie drugą. Wszystkie warunki są stosowane na lewym dołączeniu albo w wewnętrznym połączeniu lub w przypadku zewnętrznego połączenia. Mamy nadzieję, że ten artykuł jest pomocny w korzystaniu z lewej dołączania PostgreSQL. Dodatkowe informacje sprawdź inne artykuły.