Rodzaje złączeń MySQL | Połączenia MySQL [ze składnią]
Opublikowany: 2020-12-09Spis treści
Wstęp
MySQL to system zarządzania relacyjną bazą danych o otwartym kodzie źródłowym (RDBMS) wspierany przez firmę Oracle. MySQL składa się z dwóch słów – „My”, nazwy córki współzałożyciela, Michaela Wideniusa, oraz „SQL”, skrót od Structured Query Language.
Słowo relacyjne w RDBMS jest podstawą, na której JOINS w MySQLwork. W każdej bazie danych może istnieć wiele typów i numerów tabel. JOINS jak sama nazwa wskazuje łączy tabele za pomocą wspólnych kolumn. Jednym z podstawowych przykładów jest tabela 1 zawiera dane pracownika, a tabela 2 zawiera szczegóły projektu.
Jeśli musimy sprawdzić projekty, w które zaangażowany jest pracownik, możemy dołączyć do tabel na podstawie nazwiska pracownika lub identyfikatora pracownika, co spowoduje łączenie się z tabelami i dostęp do nowej wirtualnej tabeli (można ją zapisać) ze wszystkimi wymaganymi informacjami .
Cechy
- MySQL to Open-Source i właściwy RDBMS do uzyskiwania dostępu i zarządzania rekordami tabel.
- Obsługuje język kodowania SQL, który jest bardzo popularny w dziedzinie zarządzania bazami danych.
- MySQL jest prosty i łatwy w użyciu. Ma przytłaczającą ilość dokumentacji, jeśli ktoś utknął w konkretnym problemie.
- MySQL ma bardzo silną warstwę bezpieczeństwa. Hasła są szyfrowane, dzięki czemu poufne dane są zabezpieczone przed intruzami.
- MySQL jest skalowalny, ponieważ obsługuje wielowątkowość. Multi-Threading odpowiada za szybkie wykonywanie zapytań i manipulację danymi, nawet jeśli tabela jest bardzo duża.
- MySQL posiada architekturę Klient/Serwer. Istnieje serwer bazy danych i wiele klientów (aplikacji), które są połączone z serwerem.
Rodzaje połączeń
Połączenie wewnętrzne
Łączenie wewnętrzne jest domyślnym typem łączenia w MySQL. Łączy i zwraca pasujące rekordy z dwóch tabel. Porównuje każdy wiersz jednej tabeli z drugą i sprawdza warunek połączenia. Jeśli warunek jest spełniony, tworzony jest nowy wiersz z kolumnami z obu tabel i ten nowy wiersz jest uwzględniany w danych wyjściowych.
Fragment kodu:
WYBIERZ t1 . emp_id , t1.emp_name,t2.nazwa_projektu

OD pracownika jako t1
Projekt INNER JOIN jako t2
ON t1.identyfikator_projektu = t2 . identyfikator_projektu
W tym zapytaniu występują dwie tabele. Pierwsza tabela zawiera dane pracowników, druga zawiera wszystkie aktualnie realizowane projekty. Po uruchomieniu powyższego zapytania, MySQL zwróci wszystkich pracowników wraz z ich szczegółami projektu. Tutaj kolumna project_id jest kluczem obcym w tabeli pracowników i kluczem podstawowym w tabeli projektów. Pracownicy bez project_id lub project_id bez pracownika nie zostaną zwróceni.
Dołącz do lewej
Left join, łączy i zwraca pasujące rekordy z dwóch tabel oraz niedopasowane rekordy z pierwszej tabeli. Left join zasadniczo zwraca dane wyjściowe sprzężenia wewnętrznego + niepasujące rekordy z pierwszej tabeli. Te niedopasowane wiersze będą również zawierać kolumny z tabeli 2, ale wartość w tych kolumnach będzie pusta, ponieważ nie ma dla nich pasujących danych.
Fragment kodu:
WYBIERZ t1 . emp_id , t1.emp_name,t2.nazwa_projektu
OD pracownika jako t1

LEFT JOIN projekt jako t2
ON t1.identyfikator_projektu = t2 . identyfikator_projektu
W tym zapytaniu występują dwie tabele. Pierwsza tabela zawiera dane pracowników, druga zawiera wszystkie aktualnie realizowane projekty. Po uruchomieniu powyższego zapytania, MySQL zwróci wszystkich pracowników z odpowiednimi szczegółami projektu, a także szczegóły pracownika bez przypisanego identyfikatora projektu. Tutaj kolumna project_id jest kluczem obcym w tabeli pracowników i kluczem podstawowym w tabeli projektów.
Przeczytaj: Zmień nazwę kolumny w SQL
Prawe dołączenie
Prawe sprzężenie jest bardzo podobne do lewego sprzężenia, tyle że teraz niedopasowane rekordy z drugiej tabeli zostaną uwzględnione w danych wyjściowych, a tylko pasujące rekordy z pierwszej tabeli.
Fragment kodu:
WYBIERZ t1 . emp_id , t1.emp_name,t2.nazwa_projektu
OD pracownika jako t1
Projekt RIGHT JOIN jako t2
ON t1.identyfikator_projektu = t2 . identyfikator_projektu
Po uruchomieniu powyższego zapytania, MySQL zwróci wszystkich pracowników z odpowiednimi szczegółami projektu, a także szczegóły projektów bez pasujących pracowników. W takich przypadkach kolumny szczegółów pracownika będą miały wartość NULL.
Pełne dołączenie
Jak sama nazwa wskazuje, pełne łączenie zwraca wszystkie dopasowane i niedopasowane rekordy. Jeśli MySQL jest w stanie znaleźć pasujące wiersze w żądanej kolumnie, te rekordy zostaną dopasowane. Pozostałe wiersze będą miały wartości NULL.
Fragment kodu:
WYBIERZ *
OD pracownika jako t1
Projekt FULL OUTER JOIN jako t2
ON t1.identyfikator_projektu = t2 . identyfikator_projektu
Po uruchomieniu powyższego zapytania, MySQL zwróci wszystkich pracowników wraz ze szczegółami ich projektów, a także dane pracowników nie mających projektów oraz projekty nie mające pasujących pracowników. Niektóre kolumny będą miały odpowiednio wartości NULL.
Połączenie krzyżowe
Jak sama nazwa wskazuje, łączenie krzyżowe połączy każdy wiersz tabeli 1 z każdym wierszem tabeli 2. Niezależnie od pasujących kolumn. Dlatego jeśli w każdej tabeli jest 5 rekordów, wynik będzie miał 25 wierszy, ponieważ każdy wiersz jest dopasowany do innego wiersza.
Fragment kodu:
WYBIERZ *
OD pracownika jako t1
Projekt CROSS JOIN jako t2

Po uruchomieniu powyższego zapytania, MySQL zwróci wszystkich pracowników ze wszystkimi szczegółami projektu. Chociaż wizualizacja tych informacji nie ma większego sensu, ale połączenia krzyżowe są ważne i potrzebne w niektórych szczególnych i szczególnych przypadkach.
Przeczytaj także: Pytania i odpowiedzi dotyczące wywiadu SQL
Zapisz się na kursy inżynierii oprogramowania z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.
Wniosek
JOINS są ważną częścią ekstrakcji danych. Pomagają łączyć dane z różnych tabel zgodnie z potrzebami użytkownika. Jedyną wadą JOINS może być to, że czasami pisanie ich jest skomplikowane. W ostatecznym rozrachunku JOINS są bardzo przydatne i w MySQL można zaimplementować różne typy złączeń.
Podsumowując, nauka i praktyczna praktyka we wszystkich bazach danych wymienionych w tym artykule zwiększy Twoje doświadczenie. Zapoznaj się z przeglądem kursu, nauką i możliwościami pracy z nim związanymi — platformy takie jak upGrad oferują rozbudowane kursy zaprojektowane przez renomowane instytuty, takie jak IIIT-B w programie Executive PG Program Full Stack Development.

