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:
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 .
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
Tablica: narudžbe
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:
'2020-04-30';>