Left Join eta Left Outer Join-en arteko aldea SQL-n - Desberdintasun guztiak

 Left Join eta Left Outer Join-en arteko aldea SQL-n - Desberdintasun guztiak

Mary Davis

Datu-base bat sistema informatiko batean modu elektronikoan gorde ohi den informazio egituratuaren bilduma antolatu batean datza. Hainbat datu-base ezberdinek, hala nola SQL Server, Oracle, PostgreSQL eta MySQL, normalean hizkuntza bat erabiltzen dute datuak kudeatzeko .

Horrelako hizkuntza bat SQL izenez ezagutzen da. SQL-k Bateratze-komando desberdinak ditu barneko elkarketa, ezkerreko elkarketa eta eskuineko elkarketa moduan.

Dakizuenez, Loin den zutabetik bi taula edo gehiagotako errenkadak biltzeko erabiltzen da SQL-n batu . Honek beste aldaerek zer egiten duten galdera sor dezake.

Apur bat nahasia da, ziur nago! Baina ez kezkatu, esan nahi dutenaren berri zehatza emango dizut, eta, zorionez, hobeto ulertzen lagunduko dizu.

Iritsi gaitezen!

Zer da SQL?

SQL Structured Query Language da. Hainbat datu-basek datuak idazteko eta kontsultatzeko erabiltzen duten hizkuntza da. Taulen bidez informazioa kudeatzeko aukera ematen du eta hizkuntza bat bistaratzen du taula horiek eta erlazionatutako beste objektu batzuk kontsultatzeko, hala nola bistak, funtzioak, prozedurak, etab.

Donald Chamberlin eta Raymond Boyce dira diseinatzaileak. of SQL, datuak manipulatzeko egin zuten. Euren eredua Edgar Frank Codd-en lanetan oinarrituta zegoen, IBMrentzat lan egin zuen eta 70eko hamarkadan erlazio-datu-basea asmatu zuen.

Hasieran, SEQUEL izena zuen, baina SQL-ra laburtu zen, zehatz batzuengatik.marken gaiak. Hala ere, nahi izanez gero, SEQUEL dei diezaiekezu.

SQL-rekin, datuak txertatu, ezabatu eta egunera ditzakezu eta datu-baseko beste objektu batzuk sortu, ezabatu edo alda ditzakezu. SQL komando estandarrak " hautatu", "ezabatu", "txertatu", "eguneratu", "sortu" eta "jaregin" dira. Hauek datu-base batean egin behar den guztia lor dezakete.

Gainera, hizkuntza hau hainbat datu-basetan erabiltzen da datuak eta datu-baseko objektuak kudeatzen laguntzeko. Zuretzat konplikatua iruditzen bazaizu, hona hemen hasiberrientzako SQL zer den azaltzen duen bideo bat:

Datu-base bat exekutatu al daiteke hizkuntzarik gabe?

Zergatik erabiltzen dugu SQL?

Nahiko sinplea da. Ez ditugu datu-baseak ulertuko SQL gabe. Era berean, ezin diogu datu-baseari berau gabe eman SQL datu-base batekin komunikatzeko erabiltzen den sistema delako.

SQL sistemek zereginak egiten dituzte, besteak beste, datuak ezabatzea, gehitzea edo aldatzea . Sistema hau modu eraginkorrean kudeatuz datu kopuru handiak errazago kudeatzeko erabiltzen da. SQL erabiltzen duten datu-base erlazionalak kudeatzeko sistema estandar batzuk Oracle, Sybase, Microsoft Access eta Ingres dira.

Zer dira Inner Join eta Outer Join?

Beno, lehenik eta behin, uler dezagun zer diren elkarketak. SQL-n, juntadurak konbinatzeko erabiltzen dira. Taula ezberdinen edukia. Datuak modu askotan konbina ditzakezu datuak nola nahi dituzun zehaztuzintegratua eta zein Join mota erabili nahi duzun.

Inner Join bat parte hartzen duten bi tauletako errenkada guztiak itzultzen dituen bat da, non taula bateko funtsezko erregistroa beste taula bateko erregistro kritikoen berdina den.

Binketa mota honek konparazio-operadore bat behar zuen bi taulen eremu edo zutabe estandarra onartzen zuten taulen errenkadak bat etortzeko. -Errenkadak bat datozen taula batean edo bietan . Funtsean, baldintzak betetzen dituzten taula guztietako errenkada guztiak itzultzen ditu.

Ikusi ere: Zein da Ezberdintasuna denda baten eta borondate oneko dendaren artean? (Azalduta) - Desberdintasun guztiak

Kanpoko lotura mota asko daude. Ezkerreko elkarketa, eskuineko elkarketa eta Kanpoko elkarketa osoa daude.

Ikusi ere: Zein da Samoa, Maori eta Oiassoaren arteko aldea? (Eztabaida) - Desberdintasun guztiak

Hona hemen SQL-n erabilgarri dauden elkartzeen funtzio esanguratsuak laburbiltzen dituen taula:

Lotura motak: Funtzioa :
Barne-juntura Honek errenkadak itzultzen ditu bi tauletan gutxienez bat datorrenean.
Ezkerreko kanpoko elkarketa Honek ezkerreko taulako errenkada guztiak itzultzen ditu eskuineko taulako bat datozen errenkadekin batera.
Eskuineko kanpoko elkarketa Honek eskuineko taulako errenkada guztiak itzultzen ditu ezkerreko taulako bat datozen errenkadekin batera.
Kanpoko elkarketa osoa Honek ezkerreko kanpoko elkarketa eta eskuineko kanpoko elkarketa konbinatzen ditu. Baldintzak betetzen direnean taula bateko zein besteko errenkadak itzultzen ditu.

Honek SQL-ko lau baturen arteko desberdintasunak erakusten ditu.

Barneko eta kanpoko elkarketaren arteko aldea

Badago gehiago. Barneko eta kanpoko elkartzeen arteko diferentzia esanguratsua da barruko elkartzeek normalean bi taularen ebakidura eragiten dutela. Aitzitik, Outer Loin-ek bi taula nahasten ditu.

Beraz, funtsean, Inner Join k bi datu-multzoren gainjarritako zatia eragiten du, beheko irudian ikusten den moduan. Bi tauletan errenkada estandar horiek bakarrik konbinatuko dituzu Barne-junturak egiteko. Bestalde, Outer Joins-ek ezkerreko edo egokiko tauletan balioak dituzten erregistro guztiak itzultzen ditu.

Kanpoko elkartzeek tauletako bat datozen errenkadak eta bat ez datozenak barne hartzen dituzte. Gainera, Kanpoko elkarketa barruko elkarketa baten aldean desberdina da ekonposaketa faltsuaren baldintza kudeatzeko.

Ezkerreko Kanpoko Bateratzea Ezkerreko Kanpoko Bateratzea + Barneko Bateratzeak osatzen dute. Eskuineko Kanpoko Elkartzea ere osatzen duten bitartean, Kanpoko Eskuineko Bateratzea + Barneko Bateratzeaz osatuta dago. Kanpoko elkarketa osoa denek osatzen dute.

Ezkerreko batuketa (Left Outer Join-en berdina al da SQL-n?)

Agian entzun izan zenuen Ezker bat egin SQL-n ere? Beno, ezkerreko kanpo-juntura berdina da. Funtzio berarentzat bi izen ezberdin dituzte.

Ezkerreko elkarketa bat SQL-n Ezkerreko kanpoko elkarketa baten berdina da, eta bat dira. Left Join ezkerreko kanpoko baturako laburdura bat besterik ez da. Hitza"kanpo"-k funtzionamendua zein den errazago egiten du, baina bi teklak funtzio berdinak betetzen dituzte.

Zergatik Left Join deitzen da Left Outer Join?

Izen hedatuarekin edo lasterbidearekin deitzeko aukerak izango dituzu. Gainera, gauza bera dira.

Gogoratu elkartze honek taulako errenkada guztiak ezkerreko aldean eta bat datozen errenkadak eskuineko aldean itzultzen dituela. Eskuineko aldean bat datorren alderik ez badago, emaitza nulua da.

Beraz, bi taula elkartuko bagenitu, A eta B, SQL Left Outer Join ezkerreko taulako errenkada guztiak itzuliko lirateke. , hau da, A, eta eskuineko beste B taulan bat datozen errenkada guztiak. Laburbilduz, SQL Left Join-en emaitza ezkerreko alboko taulako errenkadek osatzen dute beti.

Bateratzearen eta ezkerreko elkartzearen arteko aldea

Oinarrizkoetarako, Elkartzea barneko juntadura ere deitzen zaio, eta ezkerreko juntadura kanpoko juntadura bat den bitartean.

Baina desberdintasun nagusia da ezkerreko elkartze-adierazpen batek litekeena dela informazioaren ezkerreko aldean aipatzen diren taulako errenkada guztiak barne hartzea eta konbinatzea. Batekatu gabeko errenkadak baino ez, ezkerreko taulako errenkada guztiek eta beste tauletako bat datozen errenkadek osatzen dute.

Noiz erabili Left Outer Join SQL-n?

Demagun taula desberdinak konbinatzeko modu bat bilatzen ari zarela. Edo, bi taula batzen ari bazara eta emaitza ezarri nahi baduzutaula bakarreko bat ez datozen errenkadak sartu, ezkerreko kanpoko juntaketa klausula edo kanpoko juntadura egokia erabili beharko zenuke. Left Outer Join erabiltzeak ezkerreko kanpo-junturaren klausula baino lehen zehaztutako taulatik bat ez datozen errenkadek osatzen dute.

Teknikoki, ezkerreko kanpo-junturak elkartze-baldintza betetzen duten bi tauletako errenkada guztiak identifikatzen ditu. taulako errenkada paregabeak.

Ezkerreko kanpoko elkartzeak errenkada kopurua handitzen al du?

Hau maiz egiten den galdera da. Teknikoki, baiezkoa da.

Hala ere, Left Join k ezkerreko taulako errenkada kopurua handi dezake soilik. Eta hori taula egokian hainbat partida daudenean bakarrik gertatzen da. Horrez gain, ezkerreko batuketa ugari erabil ditzakezu kontsulta batean, zure azterketarako beharrezkoa bada.

Ezkerreko kanpoko elkarketa eta eskuineko kanpoko elkarketa

Ezkerreko kanpoko elkarketa eta eskuineko kanpoko elkarketaren arteko alde nabarmena bat ez datozen errenkadak konbinatzea da.

Beraz, bien arteko aldea da ezkerreko kanpo-junturak bat-egite klausularen Ezkerreko taularen bat ez diren errenkadak edo taulako erregistro guztiak barne hartzen dituela, eskuineko taula edo klausulako bat datozen errenkadak barne.

Bestalde, Eskuineko kanpo-junturak Bateratu klausularen eskuineko aldean dagoen taulako bat ez diren errenkadak barne hartzen ditu eta eskuineko errenkada guztiak itzultzen ditu.

Join klausulak erregistroak konbinatzen ditu edo bi taula edo gehiagotako inprimakiak aldatzen eta manipulatzen ditu erabiliz.batu-baldintza bat. Elkartze-baldintza honek taula ezberdinetako zutabeak konparatzean nola bat datozen adierazten du.

Adibidez, zutabe estandar bat egongo da langileen soldata duen taula baten eta langileen xehetasunak dituen beste taula baten artean. Langileen IDa izan daiteke eta honek bi taulak batzen laguntzen du.

Beraz, taula entitate gisa pentsa dezakezu, eta gakoa bi taulen arteko lotura komuna da, elkarrekin funtzionatzeko erabiltzen dena.

Datu-baseak aztertzea zaila izan daiteke. Baina nahiko erraza da ondo ulertzen baduzu.

Zein da eskuineko elkarketa eta eskuineko kanpoko elkarketaren arteko aldea?

Eskuineko elkartzeak ezkerreko elkartzeen antzekoak dira, guztiak itzultzen dituztenak izan ezik. taulako errenkadak eskuinaldetik eta bat datozenak Ezkerretik.

Berriro ere, eskuineko elkarketak eta eskuineko kanpoko elkartzeak ez dute ezberdintasun zehatzik, ezkerreko elkartzeak eta ezkerreko kanpoko elkartzeak ez duten modu berean. Laburbilduz, Right Join terminoa Right Outer Join-en laburdura besterik ez da.

"kanpoko" gako-hitza aukerakoa da. Biek lan bera egiten dute, datu multzoak eta taulak konbinatuz.

Zergatik erabili eskuineko batuketa ezkerreko batu beharrean?

Oro har, eskuineko kanpoko elkarketak ez dira erabili ohi, beti ordezkatu ditzakezulako ezkerreko kanpoko elkartzeekin, eta ez luke funtzio gehigarririk egin beharko.

Eskuineko elkarketa erabiltzea pentsatuko litzateke ezkerreko elkartzea bainozure SQL autodokumentatuagoa egiten saiatzen.

Baliteke Left Join erabil dezakezu menpeko aldean errenkada nuluak dituzten kontsultak zuzentzeko. Eskuineko elkarketa erabiliko zenuke alde independentean errenkada nuluak sortzen dituzten galderetarako.

Eskuineko kanpoko elkarketa ere lagungarria da taula bat beste mahai askoren elkargunearekin konbinatu behar duzunean.

Join eta Union-ren arteko aldea SQL-n

Join eta Union-en arteko aldea da SELECT bi edo gehiagoren emaitza multzoa konbinatzeko Union erabiltzen dela.

Join-ek taula askotako datuak konbinatzen dituen bitartean bat datorren baldintzaren arabera, Elkartu adierazpenak erabiliz konbinatutako datuek zutabe berriak sortzen dituzte.

Union adierazpena erabiliz konbinatutako datuek zutabe kopuru berdina duten multzoetatik errenkada desberdin berriak sortzen dituzte.

Azken gogoetak

Ondorioz, ez dago desberdintasunik LEFT JOIN eta LEFT OUTER JOIN artean. Hau ere egia da Right Join eta Right Outer Join-ekin.

Bi teklak funtzio berdinak betetzen dituzte, eta " kanpokoa" erabiltzeko aukerako gako-hitz bat besterik ez da. Batzuek kanpoko elkarketa bat sortzen ari zarela argitzen duelako bakarrik erabiltzea gomendatzen du.

Beraz, azkenean, zehazteak ala ez ez du ezberdintasunik.

Beste artikulu interesgarri batzuk:

    Egin klik hemen desberdintasun horiei buruz modu laburtuagoan ezagutzeko.

    Mary Davis

    Mary Davis idazlea, edukien sortzailea eta ikertzaile amorratua da hainbat gairi buruzko konparazio-analisian espezializatua. Kazetaritzan lizentziatua eta alorrean bost urte baino gehiagoko esperientzia duen, Mary-k bere irakurleei informazio zuzena eta zuzena emateko grina du. Idazteko zaletasuna gaztea zenean hasi zen eta idazlearen ibilbide arrakastatsuaren bultzatzailea izan da. Mary-k aurkikuntzak ulerterraz eta erakargarri batean ikertzeko eta aurkezteko duen gaitasunak mundu osoko irakurleengana maitemindu du. Idazten ez duenean, Maryri gustatzen zaio bidaiatzea, irakurtzea eta familia eta lagunekin denbora pasatzea.