logo

Razlika između lijevog i desnog spoja

MySQL ima uglavnom dvije vrste spajanja pod nazivom LEFT JOIN i RIGHT JOIN. Glavna razlika između ovih spojeva je uključivanje nepodudarnih redaka . LEFT JOIN uključuje sve zapise s lijeve strane i podudarne retke iz desne tablice, dok RIGHT JOIN vraća sve retke s desne strane i nepodudarne retke iz lijeve tablice. U ovom ćemo odjeljku upoznati popularne razlike između LIJEVOG i DESNOG spajanja. Prije nego što istražimo usporedbu, prvo ćemo razumjeti odredbe JOIN, LEFT JOIN i RIGHT JOIN MySQL .

Što je JOIN klauzula?

A pridružiti koristi se za upit podataka iz više tablica i vraća kombinirani rezultat iz dvije ili više tablica kroz uvjet. Uvjet u klauzuli spajanja označava kako se stupci podudaraju između navedenih tablica.

Što je LEFT JOIN klauzula?

Klauzula Left Join spaja dvije ili više tablica i vraća sve retke iz lijeve tablice i podudarne zapise iz desne tablice ili vraća null ako ne pronađe odgovarajući zapis. Također je poznat kao Lijevi vanjski spoj . Dakle, Outer je izborna ključna riječ za korištenje s lijevim spajanjem.

Možemo to razumjeti pomoću sljedećeg vizualnog prikaza:

Lijevi spoj protiv desnog spoja

Da biste pročitali više informacija o LIJEVOM spoju, kliknite ovdje .

Što je RIGHT JOIN klauzula?

Klauzula Desno spajanje spaja dvije ili više tablica i vraća sve retke iz desne tablice i samo one rezultate iz druge tablice koji su ispunili navedeni uvjet spajanja. Ako pronađe neusklađene zapise iz tablice s lijeve strane, vraća Null vrijednost. Također je poznat kao Desni vanjski spoj . Dakle, Outer je izborna klauzula za korištenje s Right Join.

Možemo to razumjeti sa sljedećim vizualni prikaz .

Lijevi spoj protiv desnog spoja

Da biste pročitali više informacija o RIGHT JOIN, kliknite ovdje.

Sintaksa LEFT JOIN klauzule

Slijedi opća sintaksa za LEFT JOIN:

 SELECT column_list FROM table_name1 LEFT JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition 

Slijedi opća sintaksa LEFT OUTER JOIN:

 SELECT column_list FROM table_name1 LEFT OUTER JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition 

Sintaksa RIGHT JOIN klauzule

Slijedi opća sintaksa RIGHT JOIN-a:

 SELECT column_list FROM table_name1 RIGHT JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition 

Slijedi opća sintaksa RIGHT OUTER JOIN-a:

 SELECT column_list FROM table_name1 RIGHT OUTER JOIN table_name2 ON column_name1 = column_name2 WHERE join_condition 

LIJEVI SPOJ naspram DESNI SPOJ

Sljedeća usporedna tablica na brz način objašnjava njihove glavne razlike:

LIJEVO PRIDRUŽI PRAVO SE PRIDRUŽI
Spaja dvije ili više tablica, vraća sve zapise iz lijeve tablice i podudarne retke iz desne tablice. Koristi se za spajanje dvije ili više tablica, vraća sve zapise iz desne tablice i odgovarajuće retke iz lijeve tablice.
Skup rezultata sadržavat će nultu vrijednost ako nema odgovarajućeg retka na desnoj strani tablice. Skup rezultata sadržavat će nultu vrijednost ako nema odgovarajućeg retka na lijevoj strani tablice.
Također je poznat kao LEFT OUTER JOIN. Naziva se i DESNI VANJSKI SPOJ.

Primjer

Razmotrimo razlike između oba spoja kroz primjere. Pretpostavimo da imamo tablicu imena ' kupac 'i' narudžbe ' koji sadrži sljedeće podatke:

Stol: kupac

Lijevi spoj protiv desnog spoja

Tablica: narudžbe

Lijevi spoj protiv desnog spoja

LEFT JOIN Primjer

Sljedeća SQL naredba vraća podudarne zapise iz obje tablice pomoću upita LEFT JOIN:

 SELECT cust_id, cust_name, order_num, order_date FROM customer LEFT JOIN orders ON customer.cust_id = orders.order_id WHERE order_date <'2020-04-30'; < pre> <p>After successful execution of the query, we will get the output as follows:</p> <img src="//techcodeview.com/img/mysql-tutorial/37/difference-between-left-join-5.webp" alt="Left Join vs Right Join"> <p> <strong>RIGHT JOIN Example</strong> </p> <p>Following SQL statement returns the matching records from both tables using the RIGHT JOIN query:</p> <pre> SELECT cust_id, cust_name, occupation, order_num, order_date FROM customer RIGHT JOIN orders ON cust_id = order_id ORDER BY order_date; </pre> <p>After successful execution of the query, we will get the output as follows:</p> <img src="//techcodeview.com/img/mysql-tutorial/37/difference-between-left-join-6.webp" alt="Left Join vs Right Join"> <hr></'2020-04-30';>

Nakon uspješnog izvršenja upita, dobit ćemo sljedeći rezultat:

Lijevi spoj protiv desnog spoja