Atšķirība starp iekšējo un ārējo pievienošanos SQL
Saturs
Iekšējā un ārējā pievienošanās ir abas. Pievienojies salīdzina un apvieno divu attiecību vai tabulu kopsavilkumus. Iekšējā pievienošanās norāda dabisko pievienošanos, t.i., ja jūs rakstāt pievienošanās klauzulu bez iekšējā atslēgvārda, tad tā veic dabisko pievienošanās darbību. Potenciālā atšķirība starp iekšējo pievienošanos un ārējo pievienošanos ir tāda Iekšējais pievienošanās atgriež tikai atbilstošos tabulus gan no tabulas, gan tabulas Ārējais pievienoties atgriež visus salīdzinājumus no abām salīdzinātajām tabulām. Izmantojot zemāk parādīto salīdzināšanas diagrammu, apspriedīsim dažas citas atšķirības starp iekšējo pievienošanos un ārējo pievienošanos.
- Salīdzināšanas tabula
- Definīcija
- Galvenās atšķirības
- Secinājums
Salīdzināšanas tabula
Salīdzināšanas pamats | Iekšējais pievienošanās | Ārējais pievienoties |
---|---|---|
Pamata | Iekšējā pievienošanās izvada tikai atbilstošos saīsinājumus no abām tabulām. | Outer Join parāda visus tabulas veidnes. |
Datu bāze | Inner Join atgrieztais datu bāzes potenciālais lielums ir salīdzinoši mazāks nekā Outer Join. | Ārējā pievienošanās atdod salīdzinoši lielāku datu bāzi. |
Veidi | Nav tipu. | Kreisais ārējais pievienoties, Labais ārējais savienojums, un Pilns ārējais pievienošanās. |
Iekšējās pievienošanās definīcija
Iekšējo pievienošanos sauc arī par dabisko pievienošanos. Inner Join salīdzina divas tabulas un abās tabulās apvieno atbilstošo tekstu. To sauc arī par noklusējuma pievienošanās veidu, jo pievienošanās klauzula tiek rakstīta bez iekšējā atslēgvārda, kas veic dabisko pievienošanos. Ja pievienošanās klauzula ir uzrakstīta bez ārējā atslēgvārda, tad tiek veikta arī iekšējā pievienošanās.
Iekšējo pievienošanos var izskaidrot ar piemēru. Ir divi galdi studentu galds un katedru galds. Tagad ļauj mums saprast, ko veic iekšējais Join.
SELECT Vārds, Sem, Deparment_name no studenta INNER JOIN departamenta studentu.Departamenta_ID = departamenta.ID.Var redzēt, ka rezultātos, kur Student.Department_ID = Department.ID tiek iegūti tikai šie sīki. Līdz ar to mēs varam teikt, ka Inner Join apvieno tikai divu tabulu atbilstošo kopu.
Ārējā pievienošanās definīcija
Atšķirībā no iekšējā savienojuma, tiek izvadīti tikai tie sīktēli, kuriem abās salīdzinātajās tabulās ir vienādas atribūtu vērtības; Outer Join tiek izvadīti visi abu tabulu tipi. Ārējā pievienošanās ir trīs veidu Kreisais ārējais savienojums, Labais ārējais pievienošanās, un Pilns ārējais pievienošanās.
Ļaujiet mums saprast tos pa vienam. Pirmkārt, pieņemsim ārējo kreiso pievienošanos.
Atlasiet Vārds, Nodaļas nosaukums no Studenta kreisā Ārējā Pievienojieties nodaļai ON Student.Department_ID = Depoartment.ID.
Var redzēt, ka rezultātos tiek parādīti visi Studentu tabulas noformējumi.Atlasiet Vārds, Nodaļas nosaukums No Departamenta Labajā Ārpus Pievienojieties Studentam ON Student.Department_ID = Depoartment.ID.
Var redzēt, ka tiek parādīti visi departamenta tabulas noformējumi.Atlasiet Vārds, Departamenta_nosaukums No Studenta Pilna ārējā. Pievienojieties nodaļai ON Student.Department_ID = Depoartment.ID.
Var novērot, ka rezultātos tiek parādīti visi tabulas.- Galvenā atšķirība starp iekšējo savienojumu un ārējo savienojumu ir tāda, ka iekšējais savienojums salīdzina un apvieno tikai tabulās esošos atbilstošos nosaukumus. No otras puses, Outer Join salīdzina un apvieno visus tabulus no abām salīdzināmajām tabulām.
- Rezultāta, kas iegūts no iekšējā savienojuma, datu bāzes lielums ir mazāks nekā ārējam savienojumam.
- Ir trīs veidu ārējais savienojums: kreisais ārējais savienojums, taisnais ārējais savienojums un pilnīgais ārējais savienojums. Bet iekšējai Join nav šādu veidu.
Secinājums:
Abi savienojumi ir ļoti noderīgi. To izmantošana ir atkarīga no lietotāja prasībām.