Usando MySQL Left Join

Usando MySQL Left Join
Una delle clausole utili di MySQL è. Viene utilizzato per recuperare i dati da due o più tabelle correlate. Mysql contiene principalmente due tipi di join. Uno è un join interno e un altro è esterno. Il join esterno è nuovamente diviso in join sinistra e giuntura destra. Questo tutorial si concentra principalmente sugli usi di sinistra. Il join a sinistra viene utilizzato per recuperare tutti i record della tabella sul lato sinistro in base alle condizioni specifiche e ai record dalla tabella sul lato destro in cui i campi di join di entrambe le tabelle corrispondono. Questo tutorial mostra gli usi di sinistra join in mysql usando vari esempi.

Sintassi:

Seleziona Field1, Field2, Field3, ... Fieldn
Dalla tabella 1
Sinistro [esterno] join table2
Sulla tabella 1.field = Table2.campo;

Qui, usando la parola chiave esterna è facoltativo. Qualsiasi campo di Tabella 1 e i campi comuni di entrambi Tabella 1 E Tavolo 2 può essere definito nella query selezionata. I record verranno restituiti in base alle condizioni definite dopo la clausola.

Prerequisito:

Prima di iniziare questo tutorial, è necessario creare il database e le tabelle necessari con i dati, per verificare l'uso di sinistra. Qui, un database chiamato azienda viene creato e due tabelle correlate denominate clienti E ordini sono creati. Il join a sinistra verrà applicato in queste tabelle.

Se non hai creato il azienda database prima di quindi eseguire la seguente istruzione per creare il database.

Creare la società di database;

Esegui la seguente dichiarazione per creare clienti Tabella di quattro campi (ID, nome, mobile_no ed email. Qui, id è una chiave primaria.

Crea clienti Table (
Id int (5) Chiave primaria Auto_Increment,
Nome varchar (50) non null,
mobile_no varchar (50) non null,
Email varchar (50) non null) motore = innodB;

Esegui la seguente dichiarazione per creare ordini Tabella che è correlata ai clienti Tabella di cinque campi (ID, Order_Date, Customer_id, Delivery_Address e Importo). Qui id è una chiave primaria e identificativo del cliente è una chiave straniera.

Crea ordini da tavolo (
ID Varchar (20) Chiave primaria,
DATA ORDING_DATE,
customer_id int (5) non null,
consegna_address varchar (50) non null,
Importo int (11),
Key Foreign (Customer_id) Reference Clienti (ID))
Motore = innodB;

Esegui la seguente istruzione per inserire alcuni dati in clienti tavolo.

Inserire nei valori dei clienti

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

Esegui la seguente istruzione per inserire alcuni dati in ordini tavolo.

Inserire nei valori degli ordini
("1937747", "2020-01-02", 1, "nuovo lavoro", 1000),
("8633664", "2020-02-12", 3, "Texas", 1500),
("4562777", "2020-02-05", 1, "California", 800),
("3434959", "2020-03-01", 2, "Nuovo lavoro", 900),
("7887775", "2020-03-17", 3, "Texas", 400);

La seguente dichiarazione mostrerà i record di clienti tavolo.

Seleziona * dai clienti;

La seguente dichiarazione mostrerà i record di ordini tavolo.

Seleziona * dagli ordini;

Ora, le tabelle con i dati sono pronte e puoi applicare un join a sinistra su queste tabelle per sapere come funziona.

Uso del semplice join sinistra

L'esempio seguente mostra l'uso molto semplice di sinistra. Recupererà tre campi da clienti tavolo e due campi da ordini tavolo dove id Di clienti tavolo e identificativo del cliente Di ordini La tabella è uguale.

Seleziona i clienti.Id, clienti.Nome, clienti.mobile_no, ordini.data dell'ordine,
ordini.quantità
Dai clienti
Accordi a sinistra
Sui clienti.id = ordini.identificativo del cliente;

La seguente output apparirà dopo aver eseguito l'istruzione SQL sopra. 3 id valori di clienti la tabella è apparsa 5 volte come identificativo del cliente valori in ordini tavolo. Quindi, cinque righe vengono restituite come output.

Utilizzo di sinistra con cui la clausola nella tabella sinistra

La seguente dichiarazione mostra come la clausola Where può essere utilizzata con join tra due tabelle. Qui, verranno recuperati 1 campo dalla tabella dei clienti e 3 campi di ordini id Di clienti tavolo e identificativo del cliente Di ordini La tabella è uguale e id Di clienti La tabella è inferiore a 3.

Seleziona i clienti.Nome, ordini.order_date, ordini.consegna_address, ordini.quantità
Dai clienti
Accordi a sinistra
Sui clienti.id = ordini.Customer_id dove clienti.id < 3;

2 esistono record in clienti tavolo dove id è meno di tre e 3 Record di ordini Tabella Match con questi 2 record (1 e 2). Quindi, verranno restituiti tre righe corrispondenti. Il seguente output apparirà dopo aver eseguito lo script.

Utilizzo del join sinistra con la clausola nella tabella destra

Nella seguente istruzione SQL, ordini La tabella viene utilizzata come tabella sul lato sinistro e clienti La tabella viene utilizzata come lato destro dell'operatore di join sinistra. Recupererà tre campi da ordini tavolo e un campo da clienti tavolo dove identificativo del cliente Di ordini tavolo e id Di clienti La tabella è la stessa e ordinata quantità è più grande di 900.

Seleziona gli ordini.id, ordini.order_date, ordini.importo, clienti.nome
Dagli ordini
Left Join Clienti
Su ordini.customer_id = clienti.id dove ordini.importo> 900;

Se controlli il ordini tavolo allora vedrai che ci sono solo due importi in più 900. Questi sono 1000 E 1500 e gli ID clienti ordinati sono 1 e 3 che sono i valori ID di Johnathan E Jimmy. Il seguente output apparirà dopo aver eseguito l'istruzione.

Qualsiasi funzione aggregata può essere utilizzata con la clausola di join nell'istruzione SQL. Nella seguente istruzione SQL, il join a sinistra viene utilizzato in due tabelle e la somma della funzione aggregata () viene utilizzata per calcolare la somma totale del gruppo degli importi ordinati da id Di clienti tavolo.

Seleziona i clienti.Nome, clienti.mobile_no, somma (ordini.quantità)
Dagli ordini
Left Join Clienti
Sui clienti.id = ordini.gruppo customer_id per ordini.identificativo del cliente;

Ce ne sono tre id valori in clienti tavolo e secondo ordini Tabella, ci sono due voci per il valore ID 1 (1000 + 800 = 1800), una voci per il valore ID 2 (900) e due voci per il valore ID 3 (400 + 1500 = 1900). Il seguente output apparirà dopo aver eseguito l'istruzione.


Conclusione:

Secondo i requisiti di ricerca, è possibile utilizzare diversi tipi di clausole di join nell'istruzione SQL per scoprire il risultato accurato dalle tabelle del database. Le istruzioni SQL utilizzate in questo articolo spiegano i vari usi del join a sinistra per recuperare i diversi risultati set da due tabelle. Puoi usare più di due tabelle per unirti per scrivere una query più complessa. Spero che questo tutorial aiuterà i principianti a conoscere l'uso di sinistra in mysql.