Dołącz do SQL operacja łączy dane lub wiersze z dwóch lub większej liczby tabel w oparciu o wspólne pole między nimi.
W tym artykule dowiemy się o Łączy w SQL, obejmujące typy JOIN, składnię i przykłady.
DOŁĄCZ DO SQL
Klauzula SQL JOIN służy do wykonywania zapytań i uzyskiwania dostępu do danych z wielu tabel poprzez ustanawianie logicznych relacji między nimi. Może uzyskiwać dostęp do danych z wielu tabel jednocześnie, korzystając ze wspólnych wartości kluczy współdzielonych w różnych tabelach.
podwójnie połączona lista
Możemy używać SQL JOIN z wieloma tabelami. Można go także łączyć z innymi klauzulami, najpopularniejszym zastosowaniem będzie użycie JOIN with Klauzula WHERE do filtrowania pobierania danych.
Przykład łączenia SQL
Rozważ dwie poniższe tabele w następujący sposób:
Student:
Kurs studencki :

Obie te tabele łączy jeden wspólny klucz (kolumna) czyli ROLL_NO.
Korzystając z podanego zapytania SQL możemy wykonać operację JOIN:
SELECT s.roll_no, s.name, s.address, s.phone, s.age, sc.course_id FROM Student s JOIN StudentCourse sc ON s.roll_no = sc.roll_no;>
Wyjście:
| ROLL_NO | NAZWA | ADRES | TELEFON | WIEK | IDENTYFIKATOR KURSU |
| 1 | SZORSTKI | DELHI | XXXXXXXXX | 18 | 1 |
| 2 | ĆWICZYĆ | BIHAR | XXXXXXXXX | 19 | 2 |
| 3 | RIYANKA | SILGURI | XXXXXXXXX | 20 | 2 |
| 4 | GŁĘBOKO | RAMNAGAR | XXXXXXXXX | 18 | 3 |
| 5 | SAPTARHI | KOLKATA | XXXXXXXXX | 19 | 1 |
Rodzaje JOIN w SQL
W SQL istnieje wiele typów złączeń. W zależności od przypadku użycia można zastosować inny typ klauzuli SQL JOIN. Oto często używane typy SQL JOIN:
- WEWNĘTRZNE POŁĄCZENIE
- LEWO DOŁĄCZ
- PRAWO DOŁĄCZ
- PEŁNE DOŁĄCZENIE
- NATURALNE POŁĄCZENIE
ZŁĄCZENIE WEWNĘTRZNE SQL
The WEWNĘTRZNE POŁĄCZENIE słowo kluczowe wybiera wszystkie wiersze z obu tabel, o ile warunek jest spełniony. To słowo kluczowe utworzy zestaw wyników poprzez połączenie wszystkich wierszy z obu tabel, w których warunek jest spełniony, tj. wartość wspólnego pola będzie taka sama.
Składnia :
Składnia SQL INNER JOIN jest następująca:
SELECT table1.column1,table1.column2,table2.column1,.... FROM table1 INNER JOIN table2 ON table1.matching_column = table2.matching_column;>
Tutaj,
- Tabela 1 : Pierwszy stół.
- Tabela 2 : Drugi stół
- pasująca_kolumna : Kolumna wspólna dla obu tabel.
Notatka : Możemy także napisać JOIN zamiast INNER JOIN. JOIN jest tym samym, co INNER JOIN.

Przykład połączenia wewnętrznego
Spójrzmy na przykład klauzuli INNER JOIN i zrozummy, że to działa.
To zapytanie pokaże nazwiska i wiek uczniów zapisanych na różne kursy.
SELECT StudentCourse.COURSE_ID, Student.NAME, Student.AGE FROM Student INNER JOIN StudentCourse ON Student.ROLL_NO = StudentCourse.ROLL_NO;>
Wyjście :

SQL LEWY DOŁĄCZ
LEFT JOIN zwraca wszystkie wiersze tabeli po lewej stronie złączenia i dopasowuje wiersze tabeli po prawej stronie złączenia. W przypadku wierszy, dla których nie ma pasującego wiersza po prawej stronie, zestaw wyników będzie zawierał zero . LEFT JOIN jest również znany jako LEWY ŁĄCZENIE ZEWNĘTRZNE.
Składnia
Składnia LEFT JOIN w SQL jest następująca :
SELECT table1.column1,table1.column2,table2.column1,.... FROM table1 LEFT JOIN table2 ON table1.matching_column = table2.matching_column;>
Tutaj,
- Tabela 1: Pierwszy stół.
- Tabela 2 : Drugi stół
- pasująca_kolumna : Kolumna wspólna dla obu tabel.
Notatka : Możemy również użyć LEFT OUTER JOIN zamiast LEFT JOIN, oba są takie same.
LEWY DOŁĄCZ Przykład
Spójrzmy na przykład klauzuli LEFT JOIN i zobaczmy, że ona działa
SELECT Student.NAME,StudentCourse.COURSE_ID FROM Student LEFT JOIN StudentCourse ON StudentCourse.ROLL_NO = Student.ROLL_NO;>
Wyjście :
różnica między $ a $$

DOŁĄCZ PRAWO SQL
PRAWO DOŁĄCZ zwraca wszystkie wiersze tabeli po prawej stronie złączenia i pasujące wiersze tabeli po lewej stronie złączenia. Działa bardzo podobnie do LEFT JOIN W przypadku wierszy, dla których nie ma pasującego wiersza po lewej stronie, zestaw wyników będzie zawierał zero . PRAWE ZŁĄCZENIE jest również znane jako PRAWE ŁĄCZENIE ZEWNĘTRZNE.
Składnia:
Składnia RIGHT JOIN w SQL jest następująca:
SELECT table1.column1,table1.column2,table2.column1,.... FROM table1 RIGHT JOIN table2 ON table1.matching_column = table2.matching_column;>
Tutaj,
- Tabela 1 : Pierwszy stół.
- Tabela 2 : Drugi stół
- pasująca_kolumna : Kolumna wspólna dla obu tabel.
Notatka : Możemy również użyć PRAWE POŁĄCZENIE ZEWNĘTRZNE zamiast PRAWY DOŁĄCZ, oba są takie same.

Przykład PRAWEGO DOŁĄCZENIA :
Spójrzmy na przykład klauzuli RIGHT JOIN i zrozummy, że ona działa
SELECT Student.NAME,StudentCourse.COURSE_ID FROM Student RIGHT JOIN StudentCourse ON StudentCourse.ROLL_NO = Student.ROLL_NO;>
Wyjście:

PEŁNE DOŁĄCZENIE SQL
PEŁNE DOŁĄCZENIE tworzy zestaw wyników, łącząc wyniki LEFT JOIN i RIGHT JOIN. Zestaw wyników będzie zawierał wszystkie wiersze z obu tabel. W przypadku wierszy, dla których nie ma dopasowania, zestaw wyników będzie zawierał ZERO wartości.
Składnia
Składnia SQL FULL JOIN jest następująca:
SELECT table1.column1,table1.column2,table2.column1,.... FROM table1 FULL JOIN table2 ON table1.matching_column = table2.matching_column;>
Tutaj,
- Tabela 1 : Pierwszy stół.
- Tabela 2 : Drugi stół
- pasująca_kolumna : Kolumna wspólna dla obu tabel.
Przykład pełnego połączenia
Spójrzmy na przykład klauzuli FULL JOIN i zrozummy, że ona działa
SELECT Student.NAME,StudentCourse.COURSE_ID FROM Student FULL JOIN StudentCourse ON StudentCourse.ROLL_NO = Student.ROLL_NO;>
Wyjście:
| NAZWA | IDENTYFIKATOR KURSU |
|---|---|
| SZORSTKI | 1 |
| ĆWICZYĆ | 2 |
| RIYANKA | 2 |
| GŁĘBOKO | 3 |
| SAPTARHI | 1 |
| DHANRAJ | ZERO |
| ROHIT | ZERO |
| NIRAJ | ZERO |
| ZERO | 4 |
| ZERO | 5 |
| ZERO | 4 |
Naturalne połączenie SQL (?)
Sprzężenie naturalne umożliwia łączenie tabel w oparciu o wspólne kolumny w łączonych tabelach. Sprzężenie naturalne zwraca wszystkie wiersze, dopasowując wartości we wspólnych kolumnach o tej samej nazwie i typie danych kolumn, a kolumna ta powinna znajdować się w obu tabelach.
Obie tabele muszą mieć co najmniej jedną wspólną kolumnę o tej samej nazwie kolumny i tym samym typie danych.
Obie tabele są łączone za pomocą Łączenie krzyżowe .
DBMS będzie szukać wspólnej kolumny o tej samej nazwie i typie danych. W rezultacie zachowywane są krotki posiadające dokładnie takie same wartości we wspólnych kolumnach.
operator Pythona //
Połączenie naturalne Przykład:
Spójrz na dwie tabele poniżej – Pracownik i Dział
| Pracownik | ||
|---|---|---|
| Em_id | Nazwa_emplu | Identyfikator działu |
| 1 | Baran | 10 |
| 2 | Jon | 30 |
| 3 | Pion | pięćdziesiąt |
| Dział | |
|---|---|
| Identyfikator_działu | Nazwa_działu |
| 10 | TO |
| 30 | HR |
| 40 | TIS |
Problem : Znajdź wszystkich pracowników i ich działy.
Zapytanie o rozwiązanie : (Pracownik) ? (Dział)
| Em_id | Nazwa_emplu | Identyfikator_działu | Identyfikator_działu | Nazwa_działu |
|---|---|---|---|---|
| 1 | Baran | 10 | 10 | TO |
| 2 | Jon | 30 | 30 | HR |
| Dane pracownika | Dane wydziału |
Dodatkowe zasoby
Aby dowiedzieć się więcej o SQL JOIN, obejrzyj nasze filmy i przeczytaj artykuły:
Lewy DOŁĄCZ (wideo)
Prawo DOŁĄCZ (wideo)
Pełne DOŁĄCZ (wideo)
SQL | DOŁĄCZ (łączenie kartezjańskie, samołączenie)