Datu bāze jebkurā datorsistēmā ir strukturētu vai nestrukturētu datu kolekcija, ko var izmantot, lai veiktu dažādas iespējas, piemēram, izveidi, dzēšanu utt. Šo datu bāzi pārvalda īpaša valoda, kas pazīstama kā SQL . SQL valodā ir dažādi savienojumi, kas tiek izmantoti, lai saliktu rindas no divām vai vairākām tabulām no saistītās kolonnas. Daži no savienojumiem ir Iekšējā pievienošanās , Pa kreisi pievienoties , un Pareizi pievienojies . Šajā rakstā mēs izpētīsim jēdzienus ar piemēriem Pa kreisi pievienoties un kreisais ārējais savienojums. Līdztekus tam mēs apskatīsim arī to galvenās atšķirības.
Pa kreisi pievienoties
Left Join SQL valodā tiek izmantots, lai atgrieztu visus datus vai ierakstus no kreisās tabulas un atbilstošos datus vai ierakstus no labās tabulas. Scenārijā, ja nav atbilstības, savienojums joprojām sastāv no rindām no kreisās tabulas un parāda NULL vērtības labās tabulas kolonnām.
Vaicājuma kontekstā zemāk ir kreisā savienojuma sintakse.
Sintakse
ATLASĪT kolonnas FROM left_table
LEFT JOIN right_table IESL
pievienošanās_nosacījums;
Tagad sapratīsim kreiso pievienošanos, izmantojot vienkāršu piemēru:
Piemērs:
1. Tabula Customer_Data:
| klienta_id | Klienta vārds |
|---|---|
| 1 | Gaurav |
| 2 java kolekcijas ietvars | Andžali |
| 3 | Ramešs |
2. Orders_Data Table:
| pasūtījuma_id | klienta_id | pasūtījuma datums |
|---|---|---|
| 1 | 1 | 2023-01-23 |
| 2 | 1 | 2023-02-03 |
| 3 | 3 | 2023-03-05 |
| 4 | 4 | 2023-04-10 |
Kreisās pievienošanās vaicājums
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;>
Rezultāts/Izvade
| klienta_id | Klienta vārds | pasūtījuma_id | pasūtījuma datums |
|---|---|---|---|
| 1 | Gaurav | 1 tas ir | 2023-01-23 |
| 1 | Gaurav | 2 | 2023-02-03 bash virknes garums |
| 2 | Andžali | NULL | NULL |
| 3 | Ramešs | 3 | 2023-03-05 |
Paskaidrojums
Iepriekš minētajā piemērā. Kreisais savienojums ietver visas rindas no kreisās tabulas ( Klienta_dati ) un saskaņoja tos ar atbilstošajām labās tabulas rindām ( Pasūtījumi_Dati ). Šeit klientam Gaurav ir 2 pasūtījumi, Anjali nav pasūtījumu (NULL) un Ramesh ir 1 pasūtījums.
Kreisais ārējais savienojums
Jēdziens par Kreisais ārējais savienojums ir līdzīgs un tāds pats kā kreisais savienojums, un abi šie termini tiek lietoti aizvietojami. Šeit izmantotais atslēgvārds ir Ārējais , kas nav obligāta un arī neietekmē rezultātu.
Apskatīsim kreisā ārējā savienojuma sintaksi:
Sintakse
ATLASĪT kolonnas
NO kreisās_tabulas
LEFT OUTTER JOIN right_table IESL
pievienošanās_nosacījums;
Piemērs:
Apskatīsim tās pašas tabulas, kas izmantotas iepriekš minētajā kreisā savienojuma piemērā:
Vaicājums par kreiso ārējo savienojumu
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;>
Rezultāts/Izvade
| klienta_id | Klienta vārds | pasūtījuma_id | pasūtījuma datums |
|---|---|---|---|
| 1 | Gaurav | 1 | 2023-01-23 |
| 1 | Gaurav | 2 | 2023-02-03 |
| 2 sarakstu uz masīvu java | Andžali | NULL | NULL |
| 3 | Ramešs | 3 | 2023-03-05 |
| 4 | NULL | NULL | NULL |
Paskaidrojums
Iepriekš minētajā piemērā neatbilstoši ieraksti no labās tabulas ( Pasūtījumi_Dati ) ir iekļautas, un labajām tabulas kolonnām tiek rādītas NULL vērtības. Tādējādi klients ar ' klienta_id ' 4 iekš Pasūtījumi_Dati tabulā, kurai nav atbilstoša ieraksta Klienta_dati tabula ir iekļauta arī rezultātu kopā un tiek parādītas NULL vērtības, kas netika parādītas nosacījumā Left Join.
Atšķirība starp kreiso savienojumu un kreiso ārējo savienojumu
| Parametrs | Pa kreisi pievienoties | Ārējais savienojums |
|---|---|---|
| Atbilstoši ieraksti lapsa vai vilks | Sadaļā Left Join ir iekļauti atbilstošie ieraksti no labās tabulas. | Sadaļā Left Outer Join ir iekļauti atbilstoši ieraksti no labajām tabulām. |
| Neatbilstoši ieraksti | Savienojumā pa kreisi tiek izslēgti neatbilstošie ieraksti no galējās labās malas tabulas. | Sadaļā Left Outer Join ir iekļauti neatbilstoši ieraksti no labās tabulas, un labās tabulas kolonnām tiek parādīta vērtība NULL. |
| Pievienojieties atslēgvārdam | PA kreisi PIEVIENOTIES | PA kreisi ĀRĒJĀ PIEVIENOTIES |
| Null vērtības | Labajām tabulas kolonnām netiek rādītas NULL vērtības. | NULL vērtības tiek rādītas labajām tabulas kolonnām, ja nav atbilstības. |
| Sintakse | SELECT kolonnas FROM left_table LEFT JOIN right_table ON join_condition; | ATLASĪT kolonnas FROM left_table LEFT OUTER JOIN right_table ON join_condition; |
FAQ par kreiso savienošanu un kreiso ārējo savienojumu
1. Kad mums vajadzētu izmantot kreiso savienojumu?
Funkcija Left Join ir jāizmanto, ja jāatgriež visas rindas no vistālāk pa kreisi esošās tabulas, pat ja galējā labajā malā nav nevienas atbilstošas rindas. Tas ir noderīgi scenārijā, kad mēs vēlamies uzskaitīt visus datus no kreisās tabulas neatkarīgi no tā, vai tie satur datus labajā tabulā.
2. Kādas ir kreisās pievienošanās priekšrocības?
Kreisās pievienošanās izmantošanai ir dažāda veida priekšrocības. Tas, iespējams, ļauj mums parādīt visus datus kreisajā tabulā, lai gan labajā tabulā nav datu. To var izmantot audita uzdevumiem.
3. Izskaidrojiet kreisā ārējā savienojuma rezultātus.
Left Outer Join rezultāti sastāv no rindām no kreisās tabulas, kā arī no atbilstošām rindām no labās tabulas. Ja labajā tabulā nav atbilstošu rindu, atbilstošās kolonnas rezultātu kopā tiks parādītas kā NULL.
4. Vai varam izmantot punktu ORDER BY kopā ar kreiso ārējo pievienošanos?
Jā, mēs varam izmantot klauzulu ORDER BY kopā ar kreiso ārējo pievienošanos vaicājumā. Tādējādi savienošanas rezultāti tiks sakārtoti tāpat kā jebkura cita vaicājuma gadījumā.