Atšķirība starp kreiso Join un kreiso Outer Join SQL - visas atšķirības

 Atšķirība starp kreiso Join un kreiso Outer Join SQL - visas atšķirības

Mary Davis

Datu bāzi veido organizēts strukturētas informācijas kopums, kas parasti elektroniski tiek glabāts datorsistēmā. Vairākas dažādas datu bāzes, piemēram, SQL Server, Oracle, PostgreSQL un MySQL, parasti izmanto datu pārvaldības valodu. .

Viena no šādām valodām ir SQL. SQL ir dažādas savienošanas komandas, piemēram, Inner Join, Left Join un Right Join.

Kā jūs, iespējams, zināt, Savienojumu SQL izmanto, lai apkopotu rindas no divām vai vairākām tabulām no saistītās kolonnas. Tas var radīt jautājumu par to, ko dara citi varianti.

Es esmu pārliecināts, ka tas ir nedaudz mulsinoši! Bet neuztraucieties, es sniegšu detalizētu pārskatu par to, kas tie ir, ko tie nozīmē, un, cerams, tas palīdzēs jums labāk saprast.

Pieņemsim to darīt!

Kas ir SQL?

SQL ir strukturētas vaicājumu valodas (Structured Query Language) saīsne. Tā ir valoda, ko izmanto dažādās datubāzēs datu rakstīšanai un vaicāšanai. Tā ļauj pārvaldīt informāciju, izmantojot tabulas, un parāda valodu, lai veiktu vaicājumus šajās tabulās un citos saistītos objektos, piemēram, skatos, funkcijās, procedūrās utt.

Skatīt arī: "Uz tikšanos" VS "Uz tikšanos vēlāk": salīdzinājums - visas atšķirības

Donalds Čemberlins un Raimonds Boiss ir dizaineri SQL, ko viņi izveidoja, lai manipulētu ar datiem. To modeļa pamatā bija Edgara Frenka Kodda (Edgar Frank Codd), kurš strādāja IBM un 70. gados izgudroja relāciju datubāzi.

Sākotnēji tā nosaukums bija SEQUEL, taču specifisku preču zīmes problēmu dēļ tas tika saīsināts uz SQL. Tomēr, ja vēlaties, varat tos joprojām saukt par SEQUEL.

Izmantojot SQL, varat ievietot, dzēst un atjaunināt datus, kā arī izveidot, dzēst vai mainīt citus datubāzes objektus. Standarta SQL komandas ir " atlasīt", "dzēst", "ievietot", "atjaunināt", "izveidot" un "nomest". . Ar tiem var paveikt visu, kas nepieciešams datu bāzē.

Turklāt šī valoda tiek izmantota vairākās datubāzēs, lai palīdzētu apstrādāt datus un datubāzes objektus. Ja jums tas šķiet sarežģīti, šeit ir video, kurā iesācējiem izskaidrots, kas ir SQL:

Vai datubāze var darboties bez valodas?

Kāpēc mēs izmantojam SQL?

Tas ir pavisam vienkārši. Bez SQL mēs nesapratīsim datu bāzes. Tāpat mēs nevaram dot norādījumus datu bāzei bez tās, jo SQL ir sistēma, ko izmanto saziņai ar datu bāzi.

SQL sistēmas veic šādus uzdevumus. dzēšot, pievienojot vai mainot šo sistēmu parasti izmanto, lai vieglāk apstrādāt lielus daudzumus. Dažas standarta relāciju datubāzu pārvaldības sistēmas, kurās izmanto SQL, ir šādas. Oracle, Sybase, Microsoft Access un Ingres.

Kas ir iekšējā un ārējā pievienošana?

Pirmkārt, sapratīsim, kas ir savienojumi. SQL valodā savienojumus izmanto, lai apvienotu dažādu tabulu saturu. Datus var kombinēt dažādos veidos, norādot, kā vēlaties integrēt datus un kādu Join veidu vēlaties izmantot.

Iekšējā savienošana ir savienošana, kas atgriež visas rindas no abām tabulām, kurās ir būtiska nozīme. ieraksts vienā tabulā ir tāds pats kā kritiskais citas tabulas ieraksti.

Šāda veida savienošanai bija nepieciešams salīdzināšanas operators, lai saskaņotu rindas no iesaistītajām tabulām, kas atbalsta abu tabulu standarta lauku vai kolonnu.

Ārējā pievienošana var atgriezt nesakrītošas rindas vienā vai abās tabulās. . Būtībā tas atgriež visas rindas no visām tabulām, kas atbilst nosacījumiem.

Pastāv dažādi ārējo savienojumu veidi. Tās ir šādas: kreisā pievienošana, labā pievienošana un pilnīga ārējā pievienošana.

Šeit ir tabula, kurā apkopotas svarīgākās SQL sistēmā pieejamo apvienojumu funkcijas:

Savienojumu veidi: Funkcija :
Iekšējā pievienošana Atgriež rindas, ja abās tabulās ir vismaz viena sakritība.
Kreisā ārējā pievienošana Tiek atgrieztas visas rindas no kreisās tabulas kopā ar atbilstošajām rindām no labās tabulas.
Labā ārējā savienojuma pievienošana Tiek atgrieztas visas labās tabulas rindas kopā ar atbilstošajām rindām no kreisās tabulas.
Pilnīga ārējā savienošana Tas apvieno kreiso ārējo Join un labo ārējo Join. Atgriež rindas no jebkuras tabulas, ja ir izpildīti nosacījumi.

Tas parāda atšķirības starp četriem savienojumiem SQL.

Atšķirība starp iekšējo un ārējo savienojumu

Ir vēl kas. Būtiskā atšķirība starp iekšējiem un ārējiem savienojumiem ir tāda, ka iekšējie savienojumi parasti rada divu tabulu krustošanos. Turpretī, Ārējo savienojumu rezultātā tiek sajauktas divas tabulas.

Tātad būtībā, Iekšējā pievienošana Rezultātā tiek iegūta divu datu kopu pārklājoša daļa, kā parādīts attēlā zemāk. Iekšējo savienojumu gadījumā tiks apvienotas tikai tās standarta rindas abās tabulās. No otras puses, ārējo savienojumu gadījumā tiek atgriezti visi ieraksti ar vērtībām vai nu kreisajā, vai piemērotajā tabulā.

Ārējie savienojumi ietver atbilstošās rindas un nesakrītošās rindas no tabulām. Turklāt savienojums Ārējā savienošana atšķiras no iekšējā savienojuma ar to, ka viltus atbilstības nosacījuma pārvaldība.

Kreisā ārējā pievienošana sastāv no kreisās ārējās pievienošanas + iekšējās pievienošanas. Savukārt labā ārējā pievienošana arī sastāv no labās ārējās pievienošanas + iekšējās pievienošanas. Pilnā ārējā pievienošana sastāv no no tiem visiem.

Kreisā Join (vai tas ir tas pats, kas SQL kreisā ārējā Join?)

Iespējams, esat dzirdējuši par kreiso Join arī SQL valodā? Nu, tā ir tāda pati kreisā ārējā Join. Tām ir divi dažādi nosaukumi vienai un tai pašai funkcijai.

Kreisais savienojums ir tas pats, kas kreisais ārējais savienojums SQL, un tie ir viens. Kreisais savienojums ir tikai saīsinājums kreisajam ārējam savienojumam. Vārds "ārējais" tikai padara skaidrāku, kāda ir operācija, bet abi atslēgas taustiņi veic tās pašas funkcijas.

Kāpēc kreiso Join sauc par kreiso ārējo Join?

Varēsiet to saukt ar paplašināto nosaukumu vai saīsināto nosaukumu. Turklāt tās ir vienas un tās pašas lietas.

Atcerieties, ka šī Join atgriež visas tabulas rindas kreisajā pusē un atbilstošās rindas labajā Join pusē. Ja labajā pusē nav atbilstošu malu, rezultāts ir nulle.

Tātad, ja mēs apvienotu divas tabulas A un B, SQL kreisā ārējā apvienošana atgrieztu visas rindas kreisajā tabulā, kas ir A, un visas rindas, kas atbilst otrai tabulai B labajā pusē. Īsāk sakot, SQL kreisās savienošanas rezultāts vienmēr sastāv no kreisās puses tabulas rindām.

Atšķirība starp Join un Left Join

Pamatiem, Join sauc arī par Inner Join, bet Left Join ir Outer Join.

Taču galvenā atšķirība ir tā, ka kreisās puses savienošanas izteikumā, visticamāk, tiks iekļautas un apvienotas visas tabulas rindas, uz kurām ir atsauce informācijas kreisajā pusē. Tā vietā, lai iegūtu tikai nesaskaņotās rindas, tā sastāv no visām rindām no kreisās tabulas un saskaņotām rindām no citām tabulām.

Kad SQL lietot kreiso ārējo savienojumu?

Pieņemsim, ka meklējat veidu, kā apvienot dažādas tabulas. Vai arī, ja apvienojat divas tabulas un vēlaties, lai rezultātu kopa ietvertu tikai vienas tabulas nesakrītošās rindas, jāizmanto kreisās ārējās savienošanas klauzula vai pareizā ārējās savienošanas klauzula. Izmantojot kreiso ārējo savienošanas klauzulu, tajā tiek iekļautas nesakrītošās rindas no tabulas, kas norādīta pirms kreisās ārējās savienošanas klauzulas.

Tehniski kreisā ārējā Join identificē visas rindas no abām tabulām, kas atbilst savienošanas nosacījumam, un nesakrītošās rindas no tabulas.

Vai kreisā ārējā pievienošana palielina rindu skaitu?

Šis ir bieži uzdots jautājums. Tehniski tas ir "jā".

Tomēr kreisā pievienošanās var tikai palielināt rindu skaitu kreisajā tabulā. Un tas notiek tikai tad, ja labajā tabulā ir vairākas sakritības. Turklāt vienā vaicājumā var izmantot vairākus kreisos savienojumus, ja tas ir nepieciešams analīzei.

Kreisā ārējā savienojuma un labā ārējā savienojuma salīdzinājums

Būtiskā atšķirība starp kreiso ārējo Join un labo ārējo Join ir šāda. nesakrītošu rindu apvienošana.

Tātad atšķirība starp abām ir tāda, ka kreisā ārējā Join ietver nesaskaņotās rindas vai visus ierakstus no tabulas, kas atrodas savienojuma klauzulas kreisajā pusē, ieskaitot saskaņotās rindas no labās tabulas vai klauzulas.

No otras puses, labajā ārējā savienojumā tiek iekļautas nesakrītošās rindas no tabulas, kas atrodas savienojuma klauzulas labajā pusē, un tiek atgrieztas visas rindas no labās puses.

Savienojuma klauzula apvieno ierakstus vai modificē un manipulē ar veidlapām no divām vai vairākām tabulām, izmantojot savienojuma nosacījumu. Šis Savienojuma nosacījums norāda, kā tiek salīdzināti dažādu tabulu kolonnas.

Piemēram, starp tabulu, kurā ir darbinieka alga, un citu tabulu, kurā ir informācija par darbinieku, būs standarta sleja. Tas varētu būt darbinieka ID, un tas palīdz Savienot abas tabulas.

Skatīt arī: Dzērves vs. čaples vs. stārķi (salīdzinājums) - visas atšķirības

Tātad tabulu var uzskatīt par vienību, un atslēga ir kopīga saikne starp abām tabulām, kas tiek izmantota kopīgai darbībai.

Studēt datubāzes var būt sarežģīti. Bet tas ir diezgan vienkārši, ja jūs to rūpīgi saprotat.

Kāda ir atšķirība starp labās un labās ārējās savienošanas funkciju?

Savienojumi no labās puses ir līdzīgi savienojumiem no kreisās puses, taču tie atgriež visas tabulas rindas no labās puses un atbilstošās rindas no kreisās puses.

Atkal jāatgādina, ka Right Join un Right Outer Join nav īpašu atšķirību, tāpat kā nav atšķirību starp Left Join un Left Outer Join. Īsāk sakot, termins Right Join ir vienkārši saīsinājums no Right Outer Join.

Atslēgas vārds "ārējais" nav obligāts. Abi tie veic vienu un to pašu uzdevumu, apvienojot datu kopas un tabulas.

Kāpēc izmantot labo Join, nevis kreiso Join?

Parasti labās ārējās savienošanas netiek tik bieži izmantotas, jo tās vienmēr var aizstāt ar kreisajām ārējām savienotājvienībām, un nav jāveic papildu funkcijas.

Ja vēlaties, lai jūsu SQL kļūtu pašdokumentējošāks, vajadzētu domāt par labās Join, nevis kreisās Join lietošanu.

Jūs varat izmantot Kreisā pievienošanās lai risinātu vaicājumus, kuros atkarīgajā pusē ir nulles rindas. Jūs varētu izmantot Tiesības Pievienoties jautājumiem, kas neatkarīgajā pusē rada nulles rindas.

Portāls Labā ārējā savienojuma pievienošana ir noderīgs arī tad, ja nepieciešams apvienot vienu tabulu ar daudzu citu tabulu krustpunktiem.

Atšķirība starp Join un Union SQL

Atšķirība starp Join un Union ir tāda, ka Union izmanto, lai apvienotu divu vai vairāku SELECT izteikumu rezultātu kopu.

Savienošana apvieno datus no daudzām tabulām atkarībā no saskaņotā nosacījuma, bet dati, kas apvienoti, izmantojot Join paziņojumus, rada jaunas kolonnas.

Datu apvienošana, izmantojot apvienošanas izteikumu, rada jaunas atšķirīgas rindas no kopām ar vienādu kolonnu skaitu.

Nobeiguma domas

Nobeigumā, ir nav atšķirības starp LEFT JOIN un LEFT OUTER JOIN. Tas attiecas arī uz Right Join un Right Outer Join.

Abi taustiņi veic vienādas funkcijas, un " "ārējais" ir tikai izvēles atslēgvārds, ko izmantot. Daži cilvēki iesaka to izmantot tikai tāpēc, ka tā paskaidro, ka tiek veidota ārējā pievienošana.

Tāpēc galu galā nav nekādas nozīmes, vai to norādāt vai nē.

Citi interesanti raksti:

    Spiediet šeit, lai apkopotā veidā uzzinātu vairāk par šīm atšķirībām.

    Mary Davis

    Mērija Deivisa ir rakstniece, satura veidotāja un dedzīga pētniece, kas specializējas salīdzināšanas analīzē par dažādām tēmām. Ar žurnālistikas grādu un vairāk nekā piecu gadu pieredzi šajā jomā Marijai ir aizraušanās ar objektīvas un vienkāršas informācijas sniegšanu saviem lasītājiem. Viņas mīlestība pret rakstīšanu sākās, kad viņa bija maza, un tā ir bijusi viņas veiksmīgās rakstniecības karjeras virzītājspēks. Mērijas spēja pētīt un prezentēt atklājumus viegli saprotamā un saistošā formātā, ir viņu iecienījusi lasītājus visā pasaulē. Kad viņa neraksta, Marijai patīk ceļot, lasīt un pavadīt laiku kopā ar ģimeni un draugiem.