Co to jest Left Outer Join w SQL?

Dzisiaj omówimy Left Outer Join. Left Outer Join lub Left Join jest tą samą rzeczą w SQL.W lewym zewnętrznym złączeniu, zwraca wszystkie dane z lewej tabeli złączenia. W tym samym momencie, dopasowuje również dane z tabeli po prawej stronie po lewym złączeniu.

Jeszcze jedna rzecz, o której musisz pamiętać. Jeśli istnieją wiersze dostępne w tabeli po lewej stronie, a nie ma pasujących danych w tabeli po prawej stronie, wówczas zestaw wyników będzie zawierał tylko wartości null dla nich.

Składnia złączenia lewostronnego

1
2
3
4
5
6
7
8
SELECT lefttable1.column1,lefttable1.column2,lefttable2.column1,….
FROM lefttable1
LEFT JOIN lefttable2
ON lefttable1.matching_column = lefttable2.matching_column;
lefttable1: FIRST TABLE.
lefttable2: SECOND TABLE
matching_column: KOLUMNA wspólna dla obu tabel.

Powyższa składnia jest naprawdę łatwa do zrozumienia. Pozwól, że wytłumaczę Ci to na prawdziwym przykładzie.Teraz stworzę dwie tabele jedną dla „BOOKCUSTOMERS” i drugą dla „ORDERS”.How to Use Left Outer Join? Pokażemy Ci praktyczny przykład lewego zewnętrznego złączenia podążając za mną. Nie będę mówił o tym jak stworzyć bazę danych lub tabelę. Zakładam, że potrafisz stworzyć dwie tabele tak jak pokazujemy poniżej:

Tabela A: BOOKCUSTOMERS

1
2
3
4
5
6
7
8
9
+-.—+———-+—–+———–+———-+
| ID | NAME | AGE | ADDRESS | SALARY |
+—-+———-+—–+———–+———-+
| 1 | SAMUAL | 32 | Austin | 8000.00 | 2 | Johnson | 25 | Ohio | 9500.00 |
3 | Mathew | 23 | NEW York | 7000.00 |
4 | Eva | 25 | Texas | 6500.00 |
5 | April | 27 | San Marcos | 8500.00 |
+—-+———-+—–+———–+———-+

TABELA B: ZAMÓWIENIA

1
2
3
4
5
6
7
8
+—–+-.——————–+—————–+——–+
| OID | DATE | BOOKCUSTOMER_ID | AMOUNT |
+—–+———————+—————–+——–+
| 102 | 2019-12-08 00:00:00 | 3 | 4000 |
| 100 | 2019-09-08 00:00:00 | 3 | 3500 |
| 101 | 2019-08-20 00:00:00 | 2 | 6560 |
| 103 | 2018-05-20 00:00:00 | 4 | 2060 |
+—–+———————+—————–+——–+

Teraz więc dołączymy do tych dwóch tabel za pomocą lewego złączenia zewnętrznego, aby uzyskać dostęp do danych z tabeli.

Zapytanie SQL dla złączenia zewnętrznego lewego:

1
2
3
4
SQL> SELECT ID, NAME, AMOUNT
FROM BOOKCUSTOMERS
LEFT JOIN ORDERS
ON BOOKCUSTOMERS.ID = ORDERS.BOOKCUSTOMER_ID;

W linii 1 wybieramy z tabeli „BOOKCUSTOMERS” kolumny, które chcemy pokazać w naszym wyniku końcowym.Teraz w linii 3, używamy słowa kluczowego „Left Join” aby użyć Left Join w naszym zapytaniu.

W ostatniej linii, dopasowujemy kolumny z tabeli 1 do kolumn z tabeli 2. W naszym przypadku, dopasowujemy „BOOKCUSTOMERS.ID” do „ORDERS.BOOKCUSTOMER_ID”.

Wynik

Teraz możesz zobaczyć końcowy wynik poniżej:

1
2
3
4
5
6
7
8
9
10
11
+-.—+———-+——–+
| ID | NAME | AMOUNT |
+—-+———-+——–+
| 1 | SAMUAL | NULL |
| 2 | Johnson | 6560 |
| 3 | Mathew | 4000 |
| 3 | Mathew | 3500 |
| 2 | John | 6560 |
| 4 | Eva | 2060 |
| 5 | April | NULL |
+-.—+———-+——–+

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *