Zalecane, 2024

Wybór Redakcji

Różnica między złączeniem wewnętrznym a złączem zewnętrznym w SQL

Łączenie wewnętrzne i Łączenie zewnętrzne to oba typy łączenia. Dołącz porównuje i łączy krotki z dwóch relacji lub tabel. Łączenie wewnętrzne określa łączenie naturalne, tzn. Jeśli napiszesz klauzulę Join bez słowa kluczowego Inner, wówczas wykonuje ona operację łączenia naturalnego. Potencjalna różnica między złączeniem wewnętrznym a złączem zewnętrznym polega na tym, że złączenie wewnętrzne zwraca tylko pasujące krotki z tabeli, a łączenie zewnętrzne łączy wszystkie krotki z obu porównywanych tabel. Omówmy kilka innych różnic między wewnętrznym złączem a zewnętrznym połączeniem za pomocą poniższego wykresu porównawczego.

Wykres porównania

Podstawa do porównaniaWewnętrzne dołączenieDołączenie zewnętrzne
PodstawowyŁączenie wewnętrzne wyprowadza tylko pasujące krotki z obu tabel.External Join wyświetla wszystkie krotki z obu tabel.
Baza danychPotencjalny rozmiar bazy danych zwróconej przez Inner Join jest stosunkowo mniejszy niż zewnętrzny interfejs.Łącze zewnętrzne zwraca stosunkowo większą bazę danych.
RodzajeBez typów.Left Outer Join,
Prawe zewnętrzne połączenie,
i pełne połączenie zewnętrzne.

Definicja połączenia wewnętrznego

Inner Join jest również nazywany Naturalnym Połączeniem. Łączenie wewnętrzne porównuje dwie tabele i łączy dopasowaną krotkę w obu tabelach. Jest również nazywany domyślnym typem łączenia, ponieważ klauzula Join jest zapisana bez wewnętrznego słowa kluczowego, które wykonuje naturalne sprzężenie. Jeśli klauzula Join jest zapisana bez słowa kluczowego External, to jest również wykonywane sprzężenie wewnętrzne.

Inner Join można wyjaśnić na przykładzie. Istnieją dwie tabele tabeli studentów i tabeli działu. Teraz pozwala nam zrozumieć, co robi wewnętrzne połączenie.

SELECT Name, Sem, Deparment_name FROM Student INNER JOIN Dział ON Student.Department_ID = Department.ID.

Widać, że tylko te krotki są uzyskiwane w wypadkach gdzie Student.Department_ID = Department.ID. Dlatego możemy powiedzieć, że Inner Join łączy tylko pasującą krotkę dwóch tabel.

Definicja łączenia zewnętrznego

W przeciwieństwie do Inner Join, tylko te krotki są wyprowadzane, które mają te same wartości atrybutów w obu porównywanych tabelach; Zewnętrzne sprzężenie wyprowadza wszystkie krotki obu tabel. Łączenie zewnętrzne składa się z trzech typów Lewe zewnętrzne połączenie, Prawe zewnętrzne połączenie i pełne zewnętrzne połączenie .

Rozumiemy je jeden po drugim. Po pierwsze, weźmy Left Outer Join.

Wybierz nazwę, nazwę działki od ucznia po lewej Dołącz do działu zewnętrznego ON Student.Department_ID = Depoartment.ID.

Możesz zobaczyć, że wszystkie krotki z tabeli uczniów są wyświetlane w wyniku.

Wybierz nazwę, nazwę działki z departamentu z prawej Dołącz się do ucznia ON Student.Department_ID = Depoartment.ID.

Widać, że wyświetlane są wszystkie krotki z tabeli departamentów.

Wybierz Nazwa, Nazwa działu od Oddziału pełnego obcego studenta NA Student.Department_ID = Depoartment.ID.

Możesz zauważyć, że wszystkie krotki z obu tabel są wyświetlane w wyniku.

Kluczowe różnice między wewnętrznym złączem a zewnętrznym złączeniem

  1. Podstawowa różnica między złączeniem wewnętrznym a złączem zewnętrznym polega na tym, że sprzężenie wewnętrzne porównuje i łączy tylko pasujące krotki z tabel. Z drugiej strony, porównanie zewnętrzne łączy i łączy wszystkie krotki z obu porównywanych tabel.
  2. Rozmiar bazy danych wynikowej uzyskany z połączenia wewnętrznego jest mniejszy niż w przypadku łączenia zewnętrznego.
  3. Istnieją trzy rodzaje łączenia zewnętrznego łączenia z lewej, łączenia zewnętrznego i pełnego łączenia zewnętrznego. Ale wewnętrzne Join nie ma takich typów.

Wniosek:

Oba łączenia są bardzo przydatne. Wykorzystanie Ther zależy od wymagań użytkownika.

Top