logo

Rodzaje SQL JOIN

DOŁĄCZ DO SQL

Sprzężenie SQL służy do pobierania lub łączenia danych (wierszy lub kolumn) z dwóch lub więcej tabel w oparciu o zdefiniowane warunki.

Tabela 1: Zamówienie

ID zamówienia Identyfikator klienta Nazwa zamówienia Nazwa produktu
12025 101 Piotr ABC
12030 105 Roberta XYX
12032 110 James XYZ
12034 115 Andrzej PQR
12035 120 Mateusz AAA

Tabela 2: Klient

Identyfikator klienta Nazwa klienta Kraj
100 Niechlujny Maxico
101 Książę Tajwan
103 Marii Fernandez Indyk
105 Jaśmin Paryż
110 Faf Weasel Indonezja
120 Rakieta Rzym Rosja

Teraz mamy dwa stoły Zamówienie i Klient . Tam jest Identyfikator klienta kolumna wspólna w obu tabelach. Zatem napisz zapytanie SQL, aby zdefiniować ogólną relację w celu wybrania rekordów dopasowań z obu tabel.

 Select Order.OrderID, Customer.CustomerName, Customer.Country, Order.ProductName from Order INNER JOIN Customer ON Order.CustomerID = Customer.CustomerID; 

Po wykonaniu powyższych SQL-a zapytania, generuje następujące dane wyjściowe:

ID zamówienia Nazwa klienta Kraj Nazwa produktu
12025 Książę Tajwan ABC
12030 Jaśmin Paryż XYX
12032 Faf Weasel Indonezja XYZ
12035 Rakieta Rzym Rosja AAA

Rodzaje złączeń SQL

W SQL stosuje się różne typy złączeń:

  1. Połączenie wewnętrzne / Połączenie proste
  2. Lewe połączenie zewnętrzne / Połączenie lewe
  3. Prawe połączenie zewnętrzne / Prawe połączenie
  4. Pełne połączenie zewnętrzne
  5. Dołącz krzyżowo
  6. Samodzielne dołączenie

Połączenie wewnętrzne

Sprzężenie wewnętrzne służy do wybierania wszystkich pasujących wierszy lub kolumn w obu tabelach lub pod warunkiem, że zdefiniowany warunek jest prawidłowy w języku SQL.

Składnia:

 Select column_1, column_2, column_3 FROM table_1 INNER JOIN table_2 ON table_1.column = table_2.column; 

Sprzężenie wewnętrzne możemy przedstawić za pomocą diagramu Venna w następujący sposób:

Rodzaje SQL JOIN

Tabela 1: Studenci

Legitymacja studencka Imię ucznia Temat Identyfikator nauczyciela
101 Aleksandra Informatyka T201
102 Karol Ekonomia T202
103 Toma Cruise'a Informatyka T201
104 Aarona Fincha Elektronika T203
105 Nasiona Bajoffa projektowanie stron internetowych T204
106 Krzysztof Literatura angielska T205
107 Dżinsowa Projektant mody T206

Tabela 2: Nauczyciele

Identyfikator nauczyciela Imię nauczyciela NauczycielE-mail
T201 Panie Davisie [e-mail chroniony]
T202 Pani Jonasz [e-mail chroniony]
T201 Panie Davisie [e-mail chroniony]
T204 Pani Lopez [e-mail chroniony]
T205 Pani Wiley [e-mail chroniony]
T206 pan Fasola [e-mail chroniony]

Mamy dwie tabele: Studenci i Nauczyciele Stoły. Napiszmy zapytania SQL, aby połączyć się z tabelą za pomocą WEWNĘTRZNE POŁĄCZENIE następująco:

 Select Student_ID, StudentName, TeacherName, TeacherEmail FROM Students INNER JOIN Teachers ON Students.TeacherID = Teachers.TeacherID; 

Po wykonaniu zapytania wyświetlana jest poniższa tabela.

Rodzaje SQL JOIN

Naturalne połączenie

Jest to typ typu wewnętrznego, który łączy dwie lub więcej tabel w oparciu o tę samą nazwę kolumny i ma ten sam typ danych w obu tabelach.

Składnia:

 Select * from tablename1 Natural JOIN tablename_2; 

Mamy dwie tabele: Studenci i Nauczyciele Stoły. Napiszmy zapytania SQL, aby połączyć się z tabelą za pomocą Naturalnie DOŁĄCZ następująco:

 Select * from Students Natural JOIN Teachers; 

Po wykonaniu powyższego zapytania wyświetlana jest następująca tabela.

Rodzaje SQL JOIN

LEWO DOŁĄCZ

The LEWO DOŁĄCZ służy do pobrania wszystkich rekordów z lewej tabeli (tabela 1) oraz dopasowanych wierszy lub kolumn z prawej tabeli (tabela 2). Jeśli obie tabele nie zawierają pasujących wierszy lub kolumn, zwraca wartość NULL.

Składnia:

 Select column_1, column_2, column(s) FROM table_1 LEFT JOIN table_2 ON table_1.column_name = table_2.column_name; 

Łączenie lewe możemy również przedstawić za pomocą diagramu Venna w następujący sposób:

Rodzaje SQL JOIN

Uwaga: W niektórych bazach danych funkcja LEFT JOIN jest również znana jako LEFT OUTER JOIN.

Tabela 1: Szczegóły_produktu

ID produktu Nazwa produktu Kwota
Pro101 Laptop 56000
Pro102 mobilny 38000
Pro103 Słuchawki 5000
Pro104 Telewizja 25000
Pro105 iPada 60000

Tabela 2: Dane_klienta

wybierz jako
Nazwa klienta Adres klienta Wiek klienta ID produktu
Martina Guptilla San Francisco, Stany Zjednoczone 26 Pro101
James Australia 29 Pro103
Ambati Williamsona Nowa Zelandia 27 Pro102
Jofra Archer Afryka Południowa 24 Pro105
Kate Wiley Australia 20 Pro103

Mamy dwie tabele: Szczegóły Produktu i Szczegóły klienta Stoły. Napiszmy zapytania SQL, aby połączyć się z tabelą za pomocą LEWO DOŁĄCZ następująco:

 Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details LEFT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID; 

Po wykonaniu zapytania wyświetlana jest następująca tabela.

Rodzaje SQL JOIN

The PRAWO DOŁĄCZ służy do pobrania wszystkich rekordów z prawej tabeli (tabela 2) oraz dopasowanych wierszy lub kolumn z lewej tabeli (tabela 1). Jeśli obie tabele nie zawierają pasujących wierszy lub kolumn, zwraca wartość NULL.

Składnia:

 Select column_1, column_2, column(s) FROM table_1 RIGHT JOIN table_2 ON table_1.column_name = table_2.column_name; 

Prawe połączenie możemy również przedstawić za pomocą diagramu Venna w następujący sposób:

Rodzaje SQL JOIN

Uwaga: W niektórych bazach danych RIGHT JOIN jest również znane jako RIGHT OUTER JOIN.

Tabela 1: Szczegóły_produktu

ID Nazwa produktu Kwota
Pro101 Laptop 56000
Pro102 mobilny 38000
Pro103 Słuchawki 5000
Pro104 Telewizja 25000
Pro105 iPada 60000

Tabela 2: Dane_klienta

Nazwa klienta Adres klienta Wiek klienta ID produktu
Martina Guptilla San Francisco, Stany Zjednoczone 26 Pro101
James Australia 29 Pro103
Ambati Williamsona Nowa Zelandia 27 Pro102
Jofra Archer Afryka Południowa 24 Pro105
Omen Anglia 29 Pro107
Morgana Anglia 20 Pro108

Mamy dwie tabele: Szczegóły Produktu i Szczegóły klienta Stoły. Napiszmy zapytania SQL, aby połączyć się z tabelą za pomocą PRAWO DOŁĄCZ następująco:

 Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details LEFT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID; 

Po wykonaniu zapytania wyświetlana jest poniższa tabela.

Rodzaje SQL JOIN

PEŁNE DOŁĄCZENIE lub PEŁNE DOŁĄCZENIE zewnętrzne:

Jest to połączenie zestawu wyników obu LEWO DOŁĄCZ I PRAWO DOŁĄCZ . Połączone tabele zwracają wszystkie rekordy z obu tabel, a jeśli w tabeli nie zostaną znalezione żadne dopasowania, ustawiana jest wartość NULL. Nazywa się to również A PEŁNE POŁĄCZENIE ZEWNĘTRZNE .

Składnia:

 Select column_1, column_2, column(s) FROM table_1 FULL JOIN table_2 ON table_1.column_name = table_2.column_name; 

Lub, PEŁNE POŁĄCZENIE ZEWNĘTRZNE

 Select column_1, column_2, column(s) FROM table_1 FULL OUTER JOIN table_2 ON table_1.column_name = table_2.column_name; 

Pełne połączenie zewnętrzne możemy również przedstawić za pomocą diagramu Venna w następujący sposób:

Rodzaje SQL JOIN

Tabela 1: Szczegóły_produktu

ID Nazwa produktu Kwota
Pro101 Laptop 56000
Pro102 mobilny 38000
Pro103 Słuchawki 5000
Pro104 Telewizja 25000
Pro105 iPada 60000

Tabela 2: Dane_klienta

Nazwa klienta Adres klienta Wiek klienta ID produktu
Martina Guptilla San Francisco, Stany Zjednoczone 26 Pro101
James Australia 29 Pro103
Ambati Williamsona Nowa Zelandia 27 Pro102
Jofra Archer Afryka Południowa 24 Pro105
Omen Anglia 29 Pro107
Morgana Anglia 20 Pro108

Mamy dwie tabele: Szczegóły Produktu i Szczegóły klienta Stoły. Napiszmy zapytania SQL, aby połączyć się z tabelą za pomocą PEŁNY DOŁĄCZ w następujący sposób:

 Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details FULL JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID; 

Po wykonaniu zapytania wyświetlana jest poniższa tabela.

Rodzaje SQL JOIN

Uwaga: MySQL nie obsługuje koncepcji FULL JOIN, dlatego możemy użyć klauzuli UNION ALL, aby połączyć obie tabele.

Oto składnia dla UNIA WSZYSTKICH Klauzula łączenia tabel.

 Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details LEFT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID UNION ALL Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details RIGHT JOIN Customer_Details ON Product_Details.ID = Customer_Details.ProductID 

Rodzaje SQL JOIN

POŁĄCZENIE KRZYŻOWE

Znany jest również jako ŁĄCZENIE KARTEZJAŃSKIE , która zwraca iloczyn kartezjański dwóch lub więcej połączonych tabel. The POŁĄCZENIE KRZYŻOWE tworzy tabelę, która łączy każdy wiersz pierwszej tabeli z każdym drugim wierszem tabeli. Dołączenie żadnego warunku w CROSS JOIN nie jest wymagane.

Składnia:

 Select * from table_1 cross join table_2; 

Lub,

 Select column1, column2, column3 FROM table_1, table_2; 

Tabela 1: Szczegóły_produktu

ID Nazwa produktu Kwota
Pro101 Laptop 56000
Pro102 mobilny 38000
Pro103 Słuchawki 5000
Pro104 Telewizja 25000
Pro105 iPada 60000

Tabela 2: Dane_klienta

Nazwa klienta Adres klienta Wiek klienta ID produktu
Martina Guptilla San Francisco, Stany Zjednoczone 26 Pro101
James Australia 29 Pro103
Ambati Williamsona Nowa Zelandia 27 Pro102
Jofra Archer Afryka Południowa 24 Pro105
Omen Anglia 29 Pro107
Morgana Anglia 20 Pro108

Mamy dwie tabele: Szczegóły Produktu i Szczegóły klienta Stoły. Napiszmy zapytania SQL, aby połączyć się z tabelą za pomocą PEŁNY DOŁĄCZ w następujący sposób:

 Select ID, ProductName, CustomerName, CustomerAddress, Amount FROM Product_Details, Customer_Details; 

Po wykonaniu zapytania wyświetlana jest poniższa tabela.

atoi c
Rodzaje SQL JOIN

DOŁĄCZ DO SIEBIE

Jest to funkcja SELF JOIN używana do tworzenia tabeli poprzez połączenie się, ponieważ istnieją dwie tabele. Tworzy tymczasowe nazewnictwo co najmniej jednej tabeli w instrukcji SQL.

Składnia:

 Select column1, column2, column(s) FROM table_1 Tbl1, table_2 Tbl2 WHERE condition; 

Tabela 1 I Tbl2 to dwa różne aliasy tabeli dla tej samej tabeli.

Tabela 1: Szczegóły_produktu

ID Nazwa produktu Kwota
Pro101 Laptop 56000
Pro102 mobilny 38000
Pro103 Słuchawki 5000
Pro104 Telewizja 25000
Pro105 iPada 60000

Napiszmy zapytania SQL, aby połączyć się z tabelą za pomocą DOŁĄCZ DO SIEBIE następująco:

 Select TB.ID, TB.ProductName FROM Product_Details TB, Product_Details TB2 WHERE TB.AMOUNT <tb2.amount; < pre> <p>After executing the query, it produces the below table. </p> <img src="//techcodeview.com/img/sql-tutorial/44/types-sql-join-12.webp" alt="Types of SQL JOIN"> <hr></tb2.amount;>