Baza podatkov v katerem koli računalniškem sistemu je zbirka strukturiranih ali nestrukturiranih podatkov, ki se lahko uporabljajo za izvajanje različnih možnosti, kot so ustvarjanje, brisanje itd. To bazo podatkov upravlja poseben jezik, znan kot SQL . V jeziku SQL obstajajo različni spoji, ki se uporabljajo za sestavljanje vrstic iz dveh ali več tabel iz povezanega stolpca. Nekateri od združitev so Notranja pridružitev , Levo Pridružite se , in Desno Pridružite se . V tem članku bomo raziskali koncepte s primeri Levo Pridružite se in levi zunanji spoj. Skupaj s tem bomo šli tudi skozi njihove glavne razlike.
Levo Pridružite se
Left Join v jeziku SQL se uporablja za vrnitev vseh podatkov ali zapisov iz leve tabele in ustreznih podatkov ali zapisov iz desne tabele. V scenariju, kjer ni ujemanja, je združevanje še vedno sestavljeno iz vrstic iz leve tabele in prikazuje vrednosti NULL za stolpce desne tabele.
V kontekstu poizvedbe je spodaj sintaksa levega spoja.
Sintaksa
IZBERI stolpce IZ leve_tabele
LEFT JOIN desna_tabela VKLOPLJENA
pridružitev_pogoj;
Zdaj pa poglejmo levi spoj s preprostim primerom:
primer:
1. Tabela s podatki o strankah:
identifikacijska številka stranke | Ime stranke |
---|---|
1 | Gaurav |
2 alisa manyonok | Anjali |
3 | Ramesh |
2. Tabela s podatki o naročilih:
Številka naročila | identifikacijska številka stranke | datum naročila |
---|---|---|
1 | 1 | 2023-01-23 |
2 igra pigeon android | 1 | 2023-02-03 |
3 | 3 | 2023-03-05 |
4 | 4 | 2023-04-10 |
Poizvedba za levo pridružitev
SELECT Customer_Data.customer_id, Customer_Data.customer_name, Orders_Data.order_id, Orders_Data.order_date FROM Customers_Data LEFT JOIN Orders ON Customers_Data.customer_id = Orders_Data.customer_id;>
Rezultat/Izhod
identifikacijska številka stranke | Ime stranke | Številka naročila | datum naročila |
---|---|---|---|
1 | Gaurav | 1 | 2023-01-23 |
1 | Gaurav | 2 | 2023-02-03 |
2 | Anjali | NIČ | NIČ |
3 | Ramesh izklop razvijalskega načina android | 3 | 2023-03-05 |
Pojasnilo
V zgornjem primeru. Levi spoj vključuje vse vrstice iz leve tabele ( Customer_Data ) in jih povezal z ustreznimi vrsticami desne tabele ( Naročila_Podatki ). Tu ima stranka Gaurav 2 naročila, Anjali nima naročil (NULL), Ramesh pa 1 naročilo.
Levi zunanji spoj
Koncept Levi zunanji spoj je podoben in enak levemu spoju, oba izraza pa se uporabljata izmenično. Tukaj uporabljena ključna beseda je Zunanji , ki je neobvezna in tudi ne vpliva na rezultat.
Oglejmo si sintakso levega zunanjega spoja:
Sintaksa
IZBERI stolpce
FROM leva_tabela
LEFT OUTER JOIN desna_tabela ON
pridružitev_pogoj;
primer:
Oglejmo si iste tabele, uporabljene v zgornjem primeru levega združevanja:
Poizvedba za levi zunanji spoj
SELECT Customer_Data.customer_id, Customer_Data.customer_name, Orders_Data.order_id, Orders_Data.order_date FROM Customers_Data LEFT OUTER JOIN Orders ON Customers_Data.customer_id = Orders_Data.customer_id;>
Rezultat/Izhod
identifikacijska številka stranke | Ime stranke | Številka naročila | datum naročila |
---|---|---|---|
1 | Gaurav | 1 | 2023-01-23 |
1 | Gaurav | 2 | 2023-02-03 |
2 | Anjali | NIČ | NIČ |
3 | Ramesh | 3 'primov algoritem' | 2023-03-05 |
4 | NIČ | NIČ | NIČ |
Pojasnilo
V zgornjem primeru so neujemajoči se zapisi iz desne tabele ( Naročila_Podatki ) so vključeni, vrednosti NULL pa so prikazane za desne stolpce tabele. Tako stranka z „ identifikacijska številka stranke ' 4 v Naročila_Podatki tabela, ki nima ujemajočega se zapisa v Customer_Data tabela je prav tako vključena v nabor rezultatov in prikazane so vrednosti NULL, ki niso bile prikazane v pogoju Left Join.
Razlika med levim spojem in levim zunanjim spojem
Parameter | Levo Pridružite se | Zunanji spoj |
---|---|---|
Ujemanje zapisov | V levo združevanje so vključeni ujemajoči se zapisi iz desne tabele. | V levi zunanji spoj so vključeni ujemajoči se zapisi iz desnih tabel. |
Neujemajoči se zapisi | Pri levem združevanju so neujemajoči se zapisi iz skrajno desne tabele izključeni. | V levi zunanji spoj so vključeni neujemajoči se zapisi iz desne tabele in vrednost NULL je prikazana za desne stolpce tabele. |
Pridružite se ključni besedi java virtualni stroj | LEVO PRIDRUŽI SE | LEVI ZUNANJI SPOJ |
Ničelne vrednosti | Za desne stolpce tabele ni prikazana nobena vrednost NULL. | Vrednosti NULL so prikazane za desne stolpce tabele, če ni ujemanja. |
Sintaksa | IZBERI stolpce FROM left_table LEFT JOIN right_table ON join_condition; | IZBERI stolpce FROM leva_tabela LEFT OUTER JOIN desna_tabela ON join_pogoj; |
Pogosta vprašanja o levem združevanju in levem zunanjem združevanju
1. Kdaj naj uporabimo levi Join?
Left Join je treba uporabiti, ko moramo vrniti vse vrstice iz skrajno leve tabele, tudi če v skrajno desni tabeli ni ujemajočih se vrstic. To je uporabno v primeru, ko želimo izpisati vse podatke iz leve tabele, ne glede na to, ali vsebuje podatke v desni tabeli.
2. Kakšne so prednosti uporabe Left Join?
Obstaja več vrst prednosti uporabe Left Join, potencialno nam omogoča prikaz vseh podatkov v levi tabeli, čeprav nima nobenih podatkov v desni tabeli. To se lahko uporablja za revizijske naloge.
3. Razložite rezultate Left Outer Join.
Rezultate levega zunanjega združevanja sestavljajo vrstice iz leve tabele in tudi ujemajoče se vrstice iz desne tabele. Če v desni tabeli ni ustreznih vrstic, bodo ustrezni stolpci v nizu rezultatov prikazani kot NULL.
4. Ali lahko uporabimo klavzulo ORDER BY skupaj z levim zunanjim spojem?
Da, v poizvedbi lahko uporabimo klavzulo ORDER BY skupaj z levim zunanjim spojem. To bo razporedilo rezultate združevanja tako kot pri kateri koli drugi poizvedbi.