logo

Złączenia SQL (złączenie wewnętrzne, lewe, prawe i pełne)

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:

stół studencki Kurs studencki :

tabela kursów

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.

wizualna reprezentacja złączenia wewnętrznego sql

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 :

Przykładowe dane wyjściowe złączenia wewnętrznego sql

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

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 $$

sql lewe wyjście przykładowego połączenia

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.

sql prawo dołącz reprezentację wizualną

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:

Przykładowe wyjście z prawym złączem

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.

Pełne_dołączenie

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)