MySQL Zewnętrzne połączenie

MySQL Zewnętrzne połączenie

MySQL zapewnia wiele poleceń, które są potrzebne podczas zarządzania bazą danych. Na przykład często musimy uzyskać dane z różnych tabel w oparciu o pewne warunki. MySQL następnie zapewnia różne rodzaje połączeń, aby uzyskać pożądane wyniki. Nauczmy się przyłączać się do lewej i prawe połączenie Mysql.

W SQL nie ma takiego stwierdzenia, jak pełne połączenie zewnętrzne, ale możemy użyć prostego połączenia, aby uzyskać te same wyniki lub po prostu używając instrukcji wybranych przez dwie różne tabele.

W przeciwnym razie mysql zapewnia Lewy dołącz I Prawe dołącz Aby uzyskać rekordy lub wiersze odpowiednio z prawej lub lewej tabeli. Wypróbujmy kilka różnych przykładów, aby uzyskać pożądane wyniki za pomocą odpowiednich połączeń.

Przykłady

Zanim zaczniemy uczyć się korzystania z lewego i prawego dołączenia. Dowiemy się, jak uzyskać wszystkie dane z obu tabel (wspólnych lub rzadkich) przy użyciu instrukcji Simple Select i za pomocą połączenia krzyżowego z instrukcją Select. Najpierw spróbujmy uzyskać wszystkie dane z obu tabel za pomocą instrukcji Select.

Na przykład istnieją 2 tabele, które otrzymaliśmy pod nazwą autora i książek.

Książki DESC; Autorzy DESC;

Jeśli chcemy uzyskać wszystkie kolumny z obu tabel. Wybierz zapytanie będzie używane w ten sposób:

Wybierz * z książek, autorzy;

Jak widać, mamy wszystkie kolumny z obu tabel, nawet nie zapewniając stanu.

Jeśli użyjemy klauzuli łączenia lub korektowego, oba przyniosą nam te same wyniki. Na przykład:

Wybierz * Z książek dołącz do autorów;

Teraz spróbujmy zastosować połączenie krzyżowe:

Wybierz * z książek Cross Dołącz do autorów;

Jak możesz być świadkiem, wszystkie te zapytania przynoszą nam te same wyniki.

Jednak nie jest dobrze mieć wszystkie kolumny w tak abstrakcyjnej formie. Aby uzyskać kilka konkretnych kolumn z lewej lub prawej tabeli, istnieją dwa sposoby postępowania; Jednym ze sposobów jest używanie nazw kolumn za pomocą instrukcji wybranych lub za pomocą połączeń, które pasują do Twojego wymagania.

W porządku, teraz przejdźmy do przodu, aby zrozumieć lewy dołączenie i prawe dołączenie.

Lewy dołącz

Załóżmy, że chcemy uzyskać określone kolumny, które pochodzą z tabeli książek lub wspólne między tabelą książek i autorów, w oparciu o pewne warunki, warunek jest faktycznie dostarczany przez porównanie dwóch różnych tabel. Na przykład chcemy dołączyć do dwóch tabel, książek i autorów, w których identyfikator książki jest równy identyfikatorowi autora. Możemy oczekiwać takiego wyniku, używając przyłączania lewej z instrukcją Select; Wybierz zapytanie z nazwami kolumn, które chcesz uzyskać z tabeli książek lub autorów. Wybierz zapytanie z lewym połączeniem i stanem byłoby takie:

Wybierz książki.nazwa_koksek, książki.Book_id, autorzy.autor_id,
autorski.Autor_fname, autorzy.Autor_lname
Z książek
Zostawili autorów
Na książkach.book_id = autorzy.autor_id;

Ponieważ wspomnialiśmy o tabeli książek po lewej stronie, dołączenie otrzyma identyfikator jednego wiersza z tabeli książek i będzie szukał tego samego numeru identyfikacyjnego w tabeli autora. Jeśli znajdzie ten sam numer identyfikacyjny, pokaże również podane kolumny z tabeli autora. W przeciwnym razie pokaże NULL w kolumnach tabeli autora. Wykonajmy to zapytanie i zobaczmy wyniki.

Jak widać, mamy rzędy z obu tabel, w których identyfikator tabeli książek jest równy identyfikatorowi stołu autora. W ostatnim rzędzie możemy również zobaczyć, że w tabeli autora nie ma numeru identyfikacyjnego, więc zwrócił się przeciwko niemu.

Prawe dołącz

Podobnie, jeśli chcemy uzyskać pewne dane, z tabeli autora lub powszechne między książkami a tabelą autora, w oparciu o pewne warunki, tego rodzaju wyniki można oczekiwać za pomocą klauzuli odpowiedniego połączenia i wybierz. Wybierz zapytanie z właściwym połączeniem i stanem byłoby takie:

Wybierz książki.nazwa_koksek, książki.Book_id, autorzy.autor_id,
autorski.Autor_fname, autorzy.Autor_lname
Z książek
Właściwe dołącz do autorów
Na książkach.book_id = autorzy.autor_id;

Tym razem wiemy, że tabela autorów znajduje się po prawej stronie, więc dołączenie otrzyma identyfikator jednego wiersza z tabeli autora i poszukaj tego samego numeru identyfikacyjnego w tabeli książki. Jeśli znajdzie ten sam numer identyfikacyjny, pokaże podane kolumny z tabeli książek. Wykonanie zapytania spowodowałoby to:

Jak widać, mamy rzędy z obu tabel, w których identyfikator autora jest równy identyfikatorowi książki. Wiemy, że w tabeli książek była czwarta książka, chociaż jej nie dostaliśmy, dzieje się tak z powodu odpowiedniego połączenia.

Tak właśnie działa lewy połączenie i prawe.

Wniosek

Nauczyliśmy się i zrozumieliśmy krzyż, lewy i prawy dołączenie, a także nauczyliśmy się ich używać, aby uzyskać pożądane wyniki w MySQL. Wypróbowaliśmy także kilka różnych przykładów połączeń, aby zrozumieć koncepcje w lepszy i głęboki sposób.