W SQL a Przystąp służy do porównywania i łączenia - dosłownie łączenia - i zwracania określonych wierszy danych z dwóch lub więcej tabel w bazie danych. Na połączenie wewnętrzne znajduje i zwraca pasujące dane z tabel, podczas gdy an połączenie zewnętrzne znajduje i zwraca pasujące dane i niektóre odmienne dane z tabel.
Łączenie wewnętrzne koncentruje się na podobieństwie między dwiema tabelami. Gdy używasz łączenia wewnętrznego, musi być co najmniej kilka pasujących danych między dwiema (lub więcej) porównywanymi tabelami. Sprzężenie wewnętrzne przeszukuje tabele pod kątem dopasowania lub nakładania się danych. Po znalezieniu sprzężenie wewnętrzne łączy i zwraca informacje do jednej nowej tabeli.
Rozważmy wspólny scenariusz dwóch tabel: ceny produktów i ilości. Wspólną informacją w dwóch tabelach jest nazwa produktu, więc jest to logiczna kolumna do dołączenia do tabel na. Istnieje kilka produktów, które są wspólne w dwóch tabelach; inne są unikalne dla jednego ze stołów i nie pasują do drugiego.
Wewnętrzne dołączenie Produkty zwraca informacje o tylko tych produktach, które są wspólne w obu tabelach.
Sprzężenie zewnętrzne zwraca zestaw rekordów (lub wierszy), które zawierają to, co zwróciłoby sprzężenie wewnętrzne, ale zawiera także inne wiersze, dla których nie znaleziono odpowiadającego dopasowania w innej tabeli.
Istnieją trzy rodzaje połączeń zewnętrznych:
Każde z tych sprzężeń zewnętrznych odnosi się do części danych, która jest porównywana, łączona i zwracana. Czasami w tym procesie generowane są wartości null, ponieważ niektóre dane są udostępniane, a inne nie.
Lewe sprzężenie zewnętrzne zwróci wszystkie dane z Tabeli 1 i wszystkie udostępnione dane (czyli wewnętrzną część przykładu diagramu Venna), ale tylko odpowiednie dane z Tabeli 2, która jest prawym złączeniem.
W naszej przykładowej bazie danych po lewej stronie znajdują się dwa produkty - pomarańcze i pomidory (Ceny tabela), które nie mają odpowiedniego wpisu w „prawej” (tabeli ilości). W złączeniu z lewej strony wiersze te są zawarte w zestawie wyników z NULL w kolumnie Ilość. Pozostałe wiersze w wyniku są takie same jak połączenie wewnętrzne.
Prawe sprzężenie zewnętrzne zwraca dane z tabeli 2 i wszystkie udostępnione dane, ale tylko odpowiednie dane z tabeli 1, która jest złączeniem z lewej strony.
Podobnie jak w przykładzie z lewym łączeniem, wynik prawego zewnętrznego połączenia obejmuje wszystkie rzędy wewnętrznego połączenia i dwa rzędy - brokuły i squash - od „prawego” (Wielkie ilości tabela), które nie mają pasujących wpisów po lewej stronie.
Pełne sprzężenie zewnętrzne lub pełne sprzężenie, które jest nie obsługiwany przez popularny system zarządzania bazą danych MySQL, łączy i zwraca wszystko dane z dwóch lub więcej tabel, niezależnie od tego, czy są udostępniane informacje. Pomyśl o pełnym złączeniu jako po prostu powieleniu wszystkich określonych informacji, ale w jednej tabeli, a nie w wielu tabelach. W przypadku braku pasujących danych zostaną wygenerowane wartości null.
To tylko podstawy, ale przy sprzężeniach można zrobić wiele rzeczy. Istnieją nawet sprzężenia, które mogą wykluczać inne połączenia!
Ten film wyjaśnia różnicę między różnymi rodzajami złączeń. Wskazuje się, aby rozpocząć od momentu rozpoczęcia dyskusji o złączeniach.