Atšķirība starp kreiso pievienošanos un kreiso ārējo pievienošanos

Kreisā pievienošanās vs Kreisā ārējā pievienošanās

SQL savienojumus izmanto, lai kombinētu ierakstus, kas nāk no dažādām datu kopām. Savienojums var būt gan iekšējs, gan ārējs. Iekšējais savienojums atgriež ierakstus, kuriem ir sakritības abās tabulās, nevis ārējā savienojumā, kas ir pretējs iekšējam. Tāpēc ārējais savienojums atdod tos ierakstus, kuriem nevienā tabulā nav sakritības. Atšķirības starp labo ārējo un kreiso ārējo savienojumu tiek apskatītas zemāk.

Atšķirības

Kā jau tika minēts iepriekš, iekšējā savienošana radīs tikai ierakstu kopu, kas atrodas divās salīdzinātajās tabulās. No otras puses, pilnīga ārējā savienošana rada visu ierakstu komplektu, kas atrodas abās salīdzināmajās tabulās. Gadījumā, ja nav atbilstošu rezultātu, trūkstošajos mačos būs nulle.

Kreisajā ārējā savienojumā būs pilns ierakstu komplekts, kas nāk no pirmās tabulas, un atbilstošie rezultāti būs pieejami ar rezultātiem attiecīgajā tabulā. Ja nav atbilstošu rezultātu, labajā pusē būs nulle. Lai ierakstītu ierakstus tikai kreisajā tabulā, nevis labajā tabulā, tiek izmantota “kur” klauzula.

Lai izveidotu unikālus tabulas ierakstus labajā pusē un kreisajā pusē, ieteicams izmantot pilnīgu ārējo savienojumu. Pēc pilnīgas ārējās savienošanas tiek izmantots punkts “kur”, lai izslēgtu nevēlamus rezultātus gan no “labās”, gan no “kreisās puses”. Bez tam, Dekarta savienojumu var izmantot, lai palīdzētu pievienoties visam pa kreisi un pa labi. Reizēm tas var nebūt tas, kas tiek meklēts, bet tas, kas dažreiz parādās. Savienojumi rada jaudīgu datu kopu, kas dod līdz 16 datu kopu rindām, bieži vien daudz vairāk, nekā paredzēts. Lai gan jūs saņemat lielu datu kopu daudzumu, šie savienojumi ir ārkārtīgi bīstami, jo neliela nesaderība var sabojāt visu sistēmu.

Ja jums ir darīšana ar projektu, kas arī meklē Microsoft SQL servera savietojamību, tad ieguvumi būs no kreisās ārējās savienojuma izmantošanas. Atgriešanās secība sākas ar to, ka vispirms tiek atgriezti iekšējie ieraksti, kam seko labās pievienošanās ieraksti un, visbeidzot, kreiso ierakstu apvienošana. Kreisās vai kreisās ārējās pievienošanās paziņojuma izmantošana SQL vidē attieksies tieši uz to pašu paziņojumu. Tas būtībā nozīmē, ka gaidāmajam rezultātam nav atšķirības, vai tiek izmantots kreisais savienojums vai kreisā ārējais savienojums. Rezultāts būs līdzīgs, ja vien vide nav Microsoft SQL serverī. Ārējo atslēgvārdu var izmantot vai pat izlaist, neuztraucoties, jo rezultāti nekādā veidā neatšķiras.

Kopsavilkums

Savienojumi tiek izmantoti SQL, lai salīdzinātu dažādas datu kopas

Iekšējais savienojums rada tikai ierakstu kopu, kas atrodas divās salīdzinātajās tabulās

Ārējais savienojums rada visu ierakstu komplektu, kas atrodas abās pētāmajās tabulās

“Kur” klauzula, ko izmanto, lai pēc unikālas pievienošanas izveidotu unikālus ierakstus

Dekarta savienojums saista gan tabulas kreiso, gan labo elementu.

Ir ievērojama atšķirība, kur, lietojot Microsoft SQL serveri, tiek izmantots kreisais un ārējais savienojums

Kopumā kreisā vai kreisā ārējā pievienošanās paziņojuma izmantošana attiecas uz tieši to pašu paziņojumu. Tā kā nav atšķirības, ieteicams izmantot kreiso ārējo savienojumu.