Korzystanie z MySQL Left Dold

Korzystanie z MySQL Left Dold
Jednym z przydatnych klauzul MySQL jest dołączenie. Służy do pobierania danych z dwóch lub więcej powiązanych tabel. Mysql zawiera głównie dwa rodzaje połączenia. Jeden jest wewnętrzny, a drugi jest zewnętrzny. Zewnętrzne połączenie jest ponownie podzielone na lewe połączenie i prawe połączenie. Ten samouczek koncentruje się głównie na zastosowaniach lewicowych. Lewy połączenie służy do pobrania wszystkich rekordów tabeli lewej strony w oparciu o określone warunki i te rekordy z tabeli prawej strony, w której pasują pola łączenia obu tabel. Ten samouczek pokazuje zastosowania lewicowego połączenia w MySQL, używając różnych przykładów.

Składnia:

Wybierz pole 1, pole2, pole3,… Fieldn
Z tabeli 1
Lewy [zewnętrzny] dołącz do tabeli 2
Na tabeli1.pole = tabela2.pole;

Tutaj użycie zewnętrznego słowa kluczowego jest opcjonalne. Dowolne pole Tabela 1 i wspólne pola obu Tabela 1 I Tabela 2 Można zdefiniować w zapytaniu. Rekordy zostaną zwrócone na podstawie warunków zdefiniowanych po klauzuli ON.

Warunek wstępny:

Przed rozpoczęciem tego samouczka musisz utworzyć niezbędną bazę danych i tabele z danymi, aby sprawdzić użycie lewego połączenia. Tutaj nazwa bazy danych firma jest utworzony i dwa powiązane tabele wymienione klienci I Zamówienia są stworzone. W tych tabelach zastosowano połączenie z lewą.

Jeśli nie stworzyłeś firma Baza danych, zanim następnie uruchom następującą instrukcję, aby utworzyć bazę danych.

Utwórz firmę bazy danych;

Uruchom następującą instrukcję, aby utworzyć klienci Tabela czterech pól (identyfikator, nazwa, mobile_no i e -mail. Tutaj, ID to klucz podstawowy.

Utwórz klientów tabeli (
Id int (5) Klucz podstawowy auto_increment,
Nazwa varchar (50) nie null,
Mobile_no Varchar (50) nie null,
e -mail varchar (50) nie null) silnik = innodb;

Uruchom następującą instrukcję, aby utworzyć Zamówienia Tabela powiązana z tabelą klientów z pięcioma pól (id, zamówienie_date, customer_id, dostawa_address i kwota). Tutaj ID to klucz podstawowy i Identyfikator klienta jest kluczem obcego.

Utwórz zamówienia na tabeli (
Id Varchar (20) klucz podstawowy,
data order_date,
customer_id int (5) nie null,
dostawa_address varchar (50) nie null,
kwota int (11),
Klucz zagraniczny (customer_id) referencje klientów (id))
Silnik = innodb;

Uruchom następującą instrukcję, aby wstawić niektóre dane klienci tabela.

Wstaw do wartości klientów

(Null, „Johnathan”, „18477366643”, „[email protected] '),
(Null, „Musfiqur Rahman”, „17839394985”, „[email protected] '),
(Null, „Jimmy”, „14993774655”, „[email protected] ');

Uruchom następującą instrukcję, aby wstawić niektóre dane Zamówienia tabela.

Wstaw wartości zamówień
(„1937747”, „2020-01-02”, 1, „New Work”, 1000),
(„8633664”, „2020-02-12”, 3, „Texas”, 1500),
(„4562777”, „2020-02-05”, 1, „California”, 800),
(„3434959”, „2020-03-01”, 2, „New Work”, 900),
(„7887775”, „2020-03-17”, 3, „Texas”, 400);

Poniższe stwierdzenie pokaże zapisy klienci tabela.

Wybierz * od klientów;

Poniższe stwierdzenie pokaże zapisy Zamówienia tabela.

Wybierz * z zamówień;

Teraz tabele z danymi są gotowe i możesz zastosować przyłączenie się do tych tabel, aby wiedzieć, jak to działa.

Użycie prostego połączenia z lewicami

Poniższy przykład pokazuje bardzo proste użycie lewicowego połączenia. Odzyska trzy pola z klienci stół i dwa pola z Zamówienia stół, gdzie ID z klienci stół i Identyfikator klienta z Zamówienia Tabela jest równa.

Wybierz klientów.ID, klienci.nazwa, klienci.Mobile_no, zamówienia.Data zamówienia,
Zamówienia.kwota
Od klientów
Pozostawione zamówienia dołączające
Na klientach.id = zamówienia.Identyfikator klienta;

Następujące dane wyjściowe pojawią się po uruchomieniu powyższej instrukcji SQL. 3 ID wartości klienci Tabela pojawiła się 5 razy jak Identyfikator klienta Wartości w Zamówienia tabela. Tak więc pięć wierszy jest zwracanych jako wyjście.

Użycie lewego połączenia z klauzulą ​​w lewym stole

Poniższe stwierdzenie pokazuje, w jaki sposób klauzulę można użyć z połączeniem między dwoma tabelami. Tutaj odzyskano 1 pole z tabeli klientów i 3 pól zamówień ID z klienci stół i Identyfikator klienta z Zamówienia Tabela jest równa i ID z klienci Tabela jest mniejsza niż 3.

Wybierz klientów.Nazwa, zamówienia.Order_date, zamówienia.dostawa_address, zamówienia.kwota
Od klientów
Pozostawione zamówienia dołączające
Na klientach.id = zamówienia.Customer_id, gdzie klienci.ID < 3;

2 zapisy istnieją w klienci stół, gdzie ID jest mniej niż trzy i 3 zapisy Zamówienia mecz stołowy z tymi 2 rekordami (1 i 2). Zatem trzy pasujące wiersze zostaną zwrócone. Następujące dane wyjściowe pojawią się po uruchomieniu skryptu.

Użycie lewego połączenia z klauzulą ​​w prawej tabeli

W poniższym instrukcji SQL, Zamówienia Tabela jest używana jako stół po lewej stronie i klienci Tabela jest używana jako prawa strona lewego operatora połączenia. Odzyska trzy pola z Zamówienia Tabela i jedno pole z klienci stół, gdzie Identyfikator klienta z Zamówienia stół i ID z klienci Tabela jest taka sama i uporządkowana kwota jest większy niż 900.

Wybierz zamówienia.Id, zamówienia.Order_date, zamówienia.kwota, klienci.nazwa
Z zamówień
Zostawili dołączone do klientów
Na zamówienia.Customer_id = klienci.id, gdzie zamówienia.kwota> 900;

Jeśli sprawdzisz Zamówienia stół to zobaczysz, że są tylko dwie kwoty więcej niż 900. To są 1000 I 1500 a uporządkowane identyfikatory klientów to 1 i 3, które są wartościami identyfikacyjnymi Johnathan I Jimmy. Następujące dane wyjściowe pojawią się po uruchomieniu instrukcji.

Każda funkcja łączna może być używana z klauzulą ​​łączenia w instrukcji SQL. W poniższej instrukcji SQL połączenie lewe jest używane w dwóch tabelach, a funkcja agregowana sum ID z klienci tabela.

Wybierz klientów.nazwa, klienci.mobile_no, suma (zamówienia.kwota)
Z zamówień
Zostawili dołączone do klientów
Na klientach.id = zamówienia.grupa klientów według zamówień.Identyfikator klienta;

Są trzy ID Wartości w klienci Tabela i według Zamówienia Tabela, istnieją dwa wpisy dla wartości ID 1 (1000 + 800 = 1800), jedno wpisy dla wartości identyfikatora 2 (900) i dwa wpisy dla wartości identyfikatora 3 (400 + 1500 = 1900). Następujące dane wyjściowe pojawią się po uruchomieniu instrukcji.


Wniosek:

Zgodnie z wymaganiami wyszukiwania możesz użyć różnych rodzajów klauzul łączących w instrukcji SQL, aby znaleźć dokładny wynik z tabel bazy danych. Instrukcje SQL zastosowane w tym artykule wyjaśniają różne zastosowania lewego połączenia w celu pobrania różnych zestawów wyników z dwóch tabel. Możesz użyć więcej niż dwóch tabel, aby dołączyć, aby napisać bardziej złożone zapytanie. Mam nadzieję, że ten samouczek pomoże początkującym poznać korzystanie z lewicowej dołączania w MySQL.