logo

Skirtumas tarp kairiojo sujungimo ir kairiojo išorinio sujungimo

Duomenų bazė bet kurioje kompiuterinėje sistemoje yra struktūrinių arba nestruktūruotų duomenų rinkinys, kurį galima naudoti atliekant įvairias parinktis, tokias kaip kūrimas, trynimas ir kt. Ši duomenų bazė valdoma specialia kalba, vadinama SQL . SQL kalboje yra skirtingų sujungimų, kurie naudojami eilėms iš dviejų ar daugiau lentelių iš susijusio stulpelio surinkti. Kai kurie sujungimai yra Vidinis prisijungimas , Kairė prisijungti , ir Teisingai Prisijunk . Šiame straipsnyje mes išnagrinėsime sąvokas su pavyzdžiais Kairė prisijungti ir kairioji išorinė jungtis. Kartu apžvelgsime ir pagrindinius jų skirtumus.

Kairė prisijungti

Kairysis prisijungimas SQL kalba yra naudojamas norint grąžinti visus duomenis arba įrašus iš kairiosios lentelės ir atitinkančius duomenis ar įrašus iš dešinės lentelės. Scenarijuje, kai nėra atitikties, jungtį vis tiek sudaro kairiosios lentelės eilutės ir rodomas NULL reikšmės dešiniosios lentelės stulpeliams.

Užklausos kontekste žemiau pateikiama kairiojo sujungimo sintaksė.



Sintaksė

PASIRINKITE stulpelius FROM left_table

LEFT JOIN right_table ĮJUNGTA

prisijungimo_sąlyga;

Dabar supraskime kairįjį prisijungimą per paprastą pavyzdį:

Pavyzdys:

1. Klientų_duomenų lentelė:

Kliento ID

Kliento vardas

1

Gaurav

2

kabinos algoritmas

Anjali

3

Ramešas

2. Užsakymų_duomenų lentelė:

order_id

Kliento ID

užsakymo data

1

3d autocad

1

2023-01-23

2

1

2023-02-03

3

3

2023-03-05

4

4

2023-04-10

Užklausa dėl kairiojo prisijungimo

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;>

Rezultatas/išvestis

Kliento ID

Kliento vardas

order_id

užsakymo data

1

Gaurav

1

2023-01-23

1

Gaurav

2

2023-02-03

2

Anjali

NULL

išaukštinimas

NULL

3

Ramešas

3

2023-03-05

Paaiškinimas

Aukščiau pateiktame pavyzdyje. Kairysis prisijungimas apima visas eilutes iš kairiosios lentelės ( Kliento_duomenys ) ir suderino juos su atitinkamomis dešiniosios lentelės eilutėmis ( Užsakymai_Duomenys ). Čia Klientas Gaurav turi 2 užsakymus, Anjali neturi užsakymų (NULL), o Ramesh turi 1 užsakymą.

Kairė išorinė jungtis

Sąvoka Kairė išorinė jungtis yra panašus ir toks pat kaip kairiojo sujungimo, ir abu šie terminai vartojami pakaitomis. Čia naudojamas raktinis žodis Išorinis , kuris yra neprivalomas ir taip pat neturi įtakos rezultatui.

Pažiūrėkime kairiojo išorinio sujungimo sintaksę:

Sintaksė

PASIRINKITE stulpelius

FROM left_table

LEFT OUTTER JOIN right_table ĮJUNGTA

prisijungimo_sąlyga;

Pavyzdys:

Panagrinėkime tas pačias lenteles, naudojamas aukščiau esančiame kairiojo sujungimo pavyzdyje:

Užklausa dėl kairiojo išorinio sujungimo

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;>

Rezultatas/išvestis

Kliento ID

Kliento vardas

order_id

užsakymo data

1

Gaurav

1

2023-01-23

1

Gaurav

2

2023-02-03

2

Anjali

NULL

NULL

ctc pilna forma

3

Ramešas

3

2023-03-05

4

NULL

NULL

NULL

Paaiškinimas

Aukščiau pateiktame pavyzdyje neatitinkantys įrašai iš dešinės lentelės ( Užsakymai_Duomenys ) yra įtrauktos, o dešiniuosiuose lentelės stulpeliuose rodomos NULL reikšmės. Taigi klientas su „ Kliento ID 4 viduje Užsakymai_Duomenys lentelė, kuri neturi atitinkamo įrašo Kliento_duomenys lentelė taip pat įtraukta į rezultatų rinkinį ir rodomos NULL reikšmės, kurios nebuvo rodomos kairiojo sujungimo sąlygoje.

Skirtumas tarp kairiojo sujungimo ir kairiojo išorinio sujungimo

Parametras

Kairė prisijungti

Išorinis prisijungimas

Atitinkantys įrašai

Į kairįjį prisijungimą įtraukiami atitinkami įrašai iš dešinės lentelės.

Kairiajame išoriniame sujungime įtraukiami atitinkami įrašai iš dešiniųjų lentelių.

Neatitinkantys įrašai

kaka

Kairiajame sujungime neįtraukiami nesutampantys įrašai iš dešiniosios lentelės.

Į kairįjį išorinį sujungimą įtraukiami nesutampantys įrašai iš dešiniosios lentelės, o dešiniųjų lentelės stulpelių reikšmė NULL rodoma.

Prisijunkite prie raktinio žodžio

KAIRĖ PRISIJUNGTI

KAIRĖS IŠORĖS PRIJUNGIMAS

Nulinės reikšmės

Dešiniųjų lentelės stulpelių NULL reikšmės nerodomos.

Jei nėra atitikties, dešiniųjų lentelės stulpelių reikšmės rodomos NULL.

Sintaksė

PASIRINKITE stulpelius FROM left_table LEFT JOIN right_table ON prisijungimo_sąlyga;

PASIRINKITE stulpelius FROM left_table LEFT OUTER JOIN right_table ON prisijungimo_sąlyga;

DUK apie kairįjį sujungimą ir kairįjį išorinį sujungimą

1. Kada turėtume naudoti kairįjį sujungimą?

Kairėje esančioje lentelėje reikia grąžinti visas eilutes, net jei dešinėje esančioje lentelėje nėra atitinkamų eilučių. Tai naudinga scenarijuje, kai norime išvardyti visus duomenis iš kairiosios lentelės, neatsižvelgiant į tai, ar joje yra duomenų dešinėje lentelėje.

2. Kokie yra kairiojo prisijungimo pranašumai?

Kairiojo sujungimo naudojimas turi įvairių privalumų. Tai gali suteikti mums galimybę rodyti visus duomenis kairiojoje lentelėje, net jei dešinėje lentelėje nėra jokių duomenų. Tai gali būti naudojama atliekant audito užduotis.

3. Paaiškinkite kairiojo išorinio sujungimo rezultatus.

Kairiojo išorinio sujungimo rezultatus sudaro kairiosios lentelės eilutės, taip pat atitinkamos eilutės iš dešinės lentelės. Jei dešinėje lentelėje nėra atitinkamų eilučių, atitinkami rezultatų rinkinio stulpeliai bus rodomi kaip NULL.

4. Ar galime naudoti sąlygą ORDER BY kartu su kairiuoju išoriniu prisijungimu?

Taip, užklausoje galime naudoti sąlygą ORDER BY kartu su kairiuoju išoriniu prisijungimu. Taip sujungimo rezultatai bus išdėstyti taip, kaip ir bet kurios kitos užklausos atveju.