Erinevus vasakpoolse liitumise ja vasakpoolse välimise liitumise vahel SQL-is - kõik erinevused

 Erinevus vasakpoolse liitumise ja vasakpoolse välimise liitumise vahel SQL-is - kõik erinevused

Mary Davis

Andmebaas koosneb struktureeritud teabe organiseeritud kogumist, mis on tavaliselt elektrooniliselt salvestatud arvutisüsteemis. Mitmed erinevad andmebaasid, nagu SQL Server, Oracle, PostgreSQL ja MySQL, kasutavad tavaliselt andmete haldamiseks keelt .

Üks selline keel on tuntud kui SQL. SQL-is on erinevad Joins käsud Inner Join, Left Join ja Right Join kujul.

Nagu te ehk teate, SQL-is kasutatakse Join'i kahe või enama tabeli ridade kokkupanemiseks seotud veerust. See võib tekitada küsimuse, mida teevad teised variatsioonid.

Kindlasti on see veidi segadusttekitav! Aga ärge muretsege, ma annan üksikasjaliku ülevaate sellest, mida need tähendavad, ja loodetavasti aitab see teil paremini aru saada.

Hakkame tööle!

Mis on SQL?

SQL tähendab struktureeritud päringukeelt. See on keel, mida kasutavad erinevad andmebaasid andmete kirjutamiseks ja päringute tegemiseks. See võimaldab hallata teavet tabelite abil ja kuvab keele nende tabelite ja muude seotud objektide, nagu vaated, funktsioonid, protseduurid jne, päringute tegemiseks.

Donald Chamberlin ja Raymond Boyce on disainerid SQL, mida nad tegid andmete manipuleerimiseks. Nende mudel põhines Edgar Frank Coddi töödel, kes töötas IBMis ja leiutas 70ndatel relatsioonilise andmebaasi.

Algselt kandis see nime SEQUEL, kuid seda lühendati SQL-ks konkreetsete kaubamärgiprobleemide tõttu. Kui soovite, võite neid siiski nimetada SEQUELiks.

SQL-i abil saate sisestada, kustutada ja uuendada andmeid ning luua, kustutada või muuta muid andmebaasi objekte. Standardsed SQL-käsud on " select", "delete", "insert", "update", "create" ja "drop". . Need suudavad teha kõike, mida andmebaasis on vaja teha.

Lisaks kasutatakse seda keelt mitmes andmebaasis, et aidata andmeid ja andmebaasiobjekte käsitleda. Kui see kõlab teile keeruliselt, siin on video, mis selgitab algajatele, mis on SQL:

Kas andmebaas võib töötada ilma keeleta?

Miks me kasutame SQL-i?

See on üsna lihtne. Me ei saa andmebaasidest aru ilma SQLita. Samamoodi ei saa me ilma andmebaasi juhendada, sest SQL on süsteem, mida kasutatakse andmebaasiga suhtlemiseks.

SQL süsteemid täidavad selliseid ülesandeid nagu kustutamine, lisamine või muutmine andmed. Seda süsteemi kasutatakse tavaliselt selleks, et teha on lihtsam käsitleda suuri koguseid andmete tõhusat haldamist. Mõned standardsed relatsiooniliste andmebaaside haldussüsteemid, mis kasutavad SQL-i, on järgmised Oracle, Sybase, Microsoft Access ja Ingres.

Mis on Inner Join ja Outer Join?

Kõigepealt mõistame, mis on ühendused. SQLis kasutatakse ühendusi erinevate tabelite sisu ühendamiseks. Andmeid saab kombineerida mitmel viisil, määrates, kuidas soovite andmeid integreerida ja millist tüüpi liitumist soovite kasutada.

Sisemine liitmine on liitmine, mis tagastab kõik read mõlemast osalevast tabelist, kus oluline ühe tabeli kirje on sama, mis kriitiline teise tabeli kirjed.

Selline liitumine nõudis võrdlusoperaatorit, et viia kokku ridu osalevatest tabelitest, mis toetasid mõlema tabeli standardvälja või -veergu.

Outer Join võib tagastada mittevastavad read ühes või mõlemas tabelis. Põhimõtteliselt tagastab see kõik read kõikidest tabelitest, mis vastavad tingimustele.

On olemas palju erinevaid Outer Joins'i tüüpe. Nende hulka kuuluvad Left Join, Right Join ja Full Outer Join.

Siin on tabel, mis võtab kokku SQLis saadaval olevate liidete olulised funktsioonid:

Ühenduste tüübid: Funktsioon :
Sisemine liitumine See tagastab read, kui mõlemas tabelis on vähemalt üks kokkulangevus.
Vasakpoolne välimine liitumine See tagastab kõik read vasakpoolsest tabelist koos sobivate ridadega paremast tabelist.
Õige välimine liitumine See tagastab kõik parempoolse tabeli read koos vasakpoolse tabeli vastavate ridadega.
Täielik väline liitumine See kombineerib vasakpoolse välimise liitumise ja parempoolse välimise liitumise. Tagastab ridu kummastki tabelist, kui tingimused on täidetud.

See näitab erinevusi nelja Joins SQLis.

Erinevus sisemise ja välimise liitumise vahel

Seal on veel midagi. Oluline erinevus sisemise ja välimise liitekoha vahel on see, et sisemise ühendamise tulemuseks on tavaliselt kahe tabeli ristumine. Seevastu, Outer Joins toob kaasa kahe tabeli segunemise.

Nii et põhimõtteliselt, Sisemine liitumine tulemuseks on kahe andmekogumi kattuv osa, nagu on näidatud alloleval pildil. Inner Joins'i puhul ühendate ainult need standardsed read mõlemas tabelis. Outer Joins'i puhul seevastu tagastatakse kõik kirjed, mille väärtused on kas vasakpoolses või sobivas tabelis.

Välisühendused hõlmavad tabelite kokkulangevaid ridu ja mitte kokkulangevaid ridu. Lisaks sellele on tabelite Väline liitumine erineb sisemisest liitumisest selle poolest, et vale kokkulangevuse tingimuse haldamine.

Left Outer Join koosneb Left Outer Join + Inner Join, Right Outer Join koosneb samuti Right Outer Join + Inner Join. Full Outer Join koosneb järgmistest elementidest neist kõigist.

Vasakpoolne liitumine (Kas see on sama mis vasakpoolne välimine liitumine SQL-is?)

Võib-olla olete kuulnud ka Left Join'ist SQLis? Noh, see on lihtsalt sama Left Outer Join. Neil on kaks erinevat nime sama funktsiooni jaoks.

Left Join on SQL-is sama mis Left outer join ja nad on üks. Left Join on lihtsalt lühend vasakpoolse välimise Join'i jaoks. Sõna "outer" teeb lihtsalt selgemaks, mis on operatsioon, kuid mõlemad võtmed täidavad samu funktsioone.

Miks vasakpoolset liitumist nimetatakse vasakpoolseks välissuunaks?

Teil on võimalus kutsuda seda selle laiendatud nime või lühinime järgi. Pealegi on nad lihtsalt üks ja sama asi.

Pidage meeles, et see Join tagastab kõik tabelis olevad read vasakul poolel ja vastavad read Join'i paremal poolel. Kui paremal pool ei ole ühtegi sobivat külge, on tulemus null.

Seega, kui me ühendaksime kaks tabelit A ja B, siis SQL Left Outer Join tagastaks kõik read vasakpoolses tabelis, mis on A, ja kõik read, mis sobivad teise tabelisse B paremal pool. Lühidalt öeldes koosneb SQL Left Join'i tulemus alati vasakpoolse tabeli ridadest.

Erinevus Join ja Left Join vahel

Aluste jaoks nimetatakse Join'i ka Inner Join'iks, samas kui Left Join on Outer Join.

Kuid peamine erinevus seisneb selles, et vasakpoolne liitmisväide hõlmab ja ühendab tõenäoliselt kõik vasakul poolel viidatud tabeli read. Ainult sobitamata ridade asemel koosneb see kõigist vasakpoolse tabeli ridadest ja sobitatud ridadest teistest tabelitest.

Millal kasutada Left Outer Join'i SQL-is?

Oletame, et otsite võimalust erinevate tabelite ühendamiseks. Või kui te ühendate kahte tabelit ja soovite, et tulemikogum sisaldaks ainult ühe tabeli sobimatuid ridu, peaksite kasutama vasakpoolset välimise liitumise lauset või korralikku välimise liitumise lauset. Vasakpoolse välimise liitumise kasutamine koosneb enne vasakpoolse välimise liitumise lauset määratud tabelist sobimatuid ridu sisaldavatest ridadest.

Tehniliselt identifitseerib vasakpoolne välimine liitumine kõik read mõlemast tabelist, mis vastavad liitumistingimusele, ja tabelist sobimatud read.

Kas vasakpoolne välimine liitumine suurendab ridade arvu?

See on sageli esitatud küsimus. Tehniliselt on see jah.

Kuid Vasakpoolne liitumine saab ainult suurendada vasakpoolses tabelis olevate ridade arvu. Ja seda ainult siis, kui parempoolses tabelis on mitu vastet. Lisaks võite kasutada ühes päringus mitmeid vasakpoolseid ühendusi, kui see on teie analüüsiks vajalik.

Vasakpoolne välimine liitumine vs. parempoolne välimine liitumine

Oluline erinevus vasakpoolse välimise liitumise ja parema välimise liitumise vahel on järgmine mittevastavate ridade ühendamine.

Seega on erinevus nende kahe vahel selles, et vasakpoolne välimine liitumine hõlmab liitumisklausli vasakpoolses tabelis olevaid sobimatuid ridu või kõiki kirjeid, sealhulgas sobitatud ridu paremast tabelist või klauslist.

Teisest küljest hõlmab parempoolne välimine liitmine sobimatuid ridu tabelist Join-klausli paremal poolel ja tagastab kõik parempoolsed read.

Join-klausel ühendab kirjeid või muudab ja manipuleerib kahe või enama tabeli vorme, kasutades liitumistingimust. See Join-tingimus näitab, kuidas eri tabelite veerge võrrelda.

Näiteks töötaja palka sisaldava tabeli ja teise töötaja andmeid sisaldava tabeli vahel on standardne veerg. See võiks olla töötaja ID ja see aitab neid kahte tabelit ühendada.

Seega võite mõelda tabelist kui üksusest ja võti on kahe tabeli vaheline ühine ühenduslüli, mida kasutatakse ühiseks toiminguks.

Vaata ka: 1366 x 768 VS 1920 x 1080 ekraan 15,6 sülearvutis - kõik erinevused

Andmebaaside õppimine võib olla keeruline. Aga see on üsna lihtne, kui sa sellest põhjalikult aru saad.

Mis vahe on paremal liitumisel ja paremal välimine liitumine?

Parempoolsed ühendused on sarnased vasakpoolsete ühendustega, kuid nad tagastavad kõik tabelis olevad read paremalt poolt ja vastavad read vasakult poolt.

Vaata ka: CRNP vs. MD (kõik, mida peate teadma) - kõik erinevused

Jällegi, Right Join ja Right Outer Join ei erine üksteisest, samamoodi nagu Left Join ja Left Outer Join ei erine. Lühidalt öeldes on termin Right Join lihtsalt lühend väljendist Right Outer Join.

Võtmesõna "outer" on vabatahtlik. Mõlemad täidavad sama ülesannet, ühendades andmekogumid ja tabelid.

Miks kasutada parema liitumise asemel vasakpoolset liitumist?

Üldiselt ei kasutata Right Outer Joins'i nii sageli, sest neid saab alati asendada Left Outer Joins'iga ja mingeid lisafunktsioone ei pea täitma.

Kui püüate muuta oma SQL-i isedokumenteeritumaks, võiks mõelda pigem Right Join'i kui Left Join'i kasutamise peale.

Sa võid kasutada Vasakpoolne liitumine et käsitleda päringuid, mille sõltuvas pooles on nullridu. Sa kasutaksid Õige liitumine küsimuste puhul, mis tekitavad sõltumatul poolel nullridu.

The Õige välimine liitumine on abiks ka siis, kui on vaja ühendada üks tabel paljude teiste tabelite lõikega.

Erinevus Join ja Union vahel SQLis

Join ja Unioni erinevus seisneb selles, et Unioni kasutatakse kahe või enama SELECT-avalduse tulemuste kogumi ühendamiseks.

Kui Join ühendab andmeid paljudest tabelitest sõltuvalt sobitatud tingimusest, siis Join-avalduste abil kombineeritud andmed annavad uued veerud.

Andmete kombineerimine avaldise Union abil annab tulemuseks uued erinevad read kogumitest, millel on võrdne arv veerge.

Lõplikud mõtted

Kokkuvõttes, seal on LEFT JOIN ja LEFT OUTER JOIN ei erine üksteisest See kehtib ka Right Join ja Right Outer Join puhul.

Mõlemad klahvid täidavad samu funktsioone ja " outer" on lihtsalt valikuline märksõna, mida kasutada. Mõned inimesed soovitavad seda kasutada ainult sellepärast, et see selgitab, et te loote Outer Join'i.

Seega ei ole lõppkokkuvõttes mingit vahet, kas te seda täpsustate või mitte.

Muud huvitavad artiklid:

    Klõpsake siin, et saada nende erinevuste kohta rohkem teavet kokkuvõtlikumalt.

    Mary Davis

    Mary Davis on kirjanik, sisulooja ja innukas uurija, kes on spetsialiseerunud erinevate teemade võrdlusanalüüsile. Ajakirjaniku kraadiga ja üle viieaastase kogemusega selles valdkonnas Mary on kirglik oma lugejatele erapooletu ja otsekohese teabe edastamise vastu. Tema armastus kirjutamise vastu sai alguse juba noorena ja on olnud tema eduka kirjanikukarjääri liikumapanev jõud. Mary võime uurida ja esitada leide lihtsalt arusaadavas ja kaasahaaravas vormis on teda lugejatele üle kogu maailma armsaks teinud. Kui ta ei kirjuta, naudib Mary reisimist, lugemist ning pere ja sõpradega aega veetmist.