Skirtumas tarp kairiosios jungties ir kairiosios išorinės jungties SQL kalba - visi skirtumai

 Skirtumas tarp kairiosios jungties ir kairiosios išorinės jungties SQL kalba - visi skirtumai

Mary Davis

Duomenų bazę sudaro organizuotas struktūrizuotos informacijos rinkinys, paprastai saugomas elektroniniu būdu kompiuterinėje sistemoje. Kelios skirtingos duomenų bazės, pavyzdžiui, SQL Server, Oracle, PostgreSQL ir MySQL, paprastai naudoja kalbą duomenims tvarkyti. .

Viena iš tokių kalbų - SQL. SQL turi skirtingas sujungimo komandas: Inner Join, Left Join ir Right Join.

Taip pat žr: Pagrindinis skirtumas tarp liberalų ir liberalų - visi skirtumai

Kaip galbūt žinote, SQL jungtis naudojama siekiant surinkti dviejų ar daugiau lentelių eilutes iš susijusio stulpelio. . Tai gali kelti klausimą, ką daro kiti variantai.

Esu tikras, kad tai šiek tiek painu! Tačiau nesijaudinkite, pateiksiu išsamią informaciją apie tai, kas jie yra, ką jie reiškia, ir, tikiuosi, tai padės jums geriau suprasti.

Pradėkime!

Kas yra SQL?

SQL reiškia struktūrizuotą užklausų kalbą. Tai kalba, naudojama įvairiose duomenų bazėse duomenims rašyti ir užklausoms atlikti. Ji leidžia tvarkyti informaciją naudojant lenteles ir pateikia užklausų kalbą šioms lentelėms ir kitiems susijusiems objektams, pavyzdžiui, rodiniams, funkcijoms, procedūroms ir kt.

Donaldas Chamberlinas ir Raymondas Boyce'as yra dizaineriai SQL, kurį jie sukūrė duomenims tvarkyti. Jų modelis pagrįstas Edgaro Franko Koddo, kuris dirbo IBM ir septintajame dešimtmetyje išrado reliacinę duomenų bazę, darbais.

Iš pradžių jis buvo pavadintas SEQUEL, bet dėl tam tikrų prekių ženklo problemų buvo sutrumpintas iki SQL. Tačiau jei norite, vis tiek galite juos vadinti SEQUEL.

Naudodami SQL galite įterpti, ištrinti ir atnaujinti duomenis bei sukurti, ištrinti ar pakeisti kitus duomenų bazės objektus. Standartinės SQL komandos yra " pasirinkite", "ištrinti", "įterpti", "atnaujinti", "sukurti" ir "nuleisti". . jais galima atlikti viską, ko reikia duomenų bazėje.

Be to, ši kalba naudojama daugelyje duomenų bazių, kad padėtų tvarkyti duomenis ir duomenų bazės objektus. Jei jums tai skamba sudėtingai, čia yra vaizdo įrašas, kuriame pradedantiesiems paaiškinama, kas yra SQL:

Ar duomenų bazė gali veikti be kalbos?

Kodėl naudojame SQL?

Tai labai paprasta. Duomenų bazių nesuprasime be SQL. Lygiai taip pat negalime duoti nurodymų duomenų bazei be jos, nes SQL yra sistema, naudojama ryšiui su duomenų baze palaikyti.

SQL sistemos atlieka tokias užduotis kaip ištrinti, pridėti arba pakeisti Ši sistema paprastai naudojama lengviau tvarkyti didelius kiekius. duomenų, efektyviai juos valdant. Keletas standartinių reliacinių duomenų bazių valdymo sistemų, naudojančių SQL, yra šios "Oracle", "Sybase", "Microsoft Access" ir "Ingres".

Kas yra vidinė ir išorinė jungtis?

Pirmiausia supraskime, kas yra jungtys. SQL kalboje jungtys naudojamos skirtingų lentelių turiniui sujungti. Duomenis galite sujungti įvairiais būdais, nurodydami, kaip norite, kad duomenys būtų integruoti, ir kokį "Join" tipą norite naudoti.

Vidinis sujungimas - tai sujungimas, kai grąžinamos visos eilutės iš abiejų dalyvaujančių lentelių, kuriose esminis vienos lentelės įrašas sutampa su kritiniu kitos lentelės įrašus.

Norint suderinti dalyvaujančių lentelių eilutes, kurios palaiko standartinį abiejų lentelių lauką ar stulpelį, tokiam sujungimui reikėjo palyginimo operatoriaus.

Išorinis sujungimas gali grąžinti nesutampančias vienos arba abiejų lentelių eilutes. . Iš esmės grąžinamos visos eilutės iš visų lentelių, kurios atitinka sąlygas.

Yra daug skirtingų išorinių jungčių tipų. Tai - kairioji jungtis, dešinioji jungtis ir visiška išorinė jungtis.

Pateikiame lentelę, kurioje apibendrintos svarbiausios SQL kalbos jungčių funkcijos:

Sujungimų tipai: Funkcija :
Vidinis prisijungimas Grąžinamos eilutės, kai abiejose lentelėse yra bent vienas atitikmuo.
Kairė išorinė jungtis Grąžinamos visos eilutės iš kairės lentelės kartu su atitinkamomis eilutėmis iš dešinės lentelės.
Dešinioji išorinė jungtis Grąžinamos visos dešiniosios lentelės eilutės kartu su atitinkamomis kairės lentelės eilutėmis.
Visiškas išorinis sujungimas Tai sujungia kairįjį išorinį sujungimą ir dešinįjį išorinį sujungimą. Grąžinamos eilutės iš bet kurios lentelės, kai tenkinamos sąlygos.

Tai parodo keturių sujungimų skirtumus SQL kalboje.

Vidinio ir išorinio sujungimo skirtumas

Yra ir daugiau. Vidinės ir išorinės jungtys skiriasi tuo, kad vidinės jungtys paprastai lemia dviejų lentelių susikirtimą. Priešingai, Išorinio sujungimo atveju sumaišomos dvi lentelės.

Taigi iš esmės, Vidinis prisijungimas rezultatas - dviejų duomenų rinkinių persidengianti dalis, kaip parodyta toliau pateiktame paveikslėlyje. Naudojant vidinį sujungimą (Inner Joins) sujungsite tik tas standartines abiejų lentelių eilutes. Kita vertus, naudojant išorinį sujungimą (Outer Joins) grąžinami visi įrašai, kurių reikšmės yra kairėje arba tinkamoje lentelėje.

Išorinės jungtys apima sutampančias ir nesutampančias lentelių eilutes. Be to, išorinė jungtis Išorinė jungtis nuo vidinio sujungimo skiriasi tuo, kad valdyti klaidingo atitikimo sąlygą.

Kairiąją išorinę jungtį sudaro kairioji išorinė jungtis + vidinė jungtis. Dešinioji išorinė jungtis taip pat susideda iš dešiniosios išorinės jungties + vidinės jungties. Pilną išorinę jungtį sudaro iš jų visų.

Kairioji jungtis (ar tai tas pats, kas SQL kairioji išorinė jungtis?)

Galbūt esate girdėję apie kairįjį prisijungimą (Left Join) ir SQL kalboje? Na, tai tas pats kairysis išorinis prisijungimas (Left Outer Join). Jie turi du skirtingus tos pačios funkcijos pavadinimus.

Kairė jungtis yra tas pats, kas kairioji išorinė jungtis SQL kalboje, ir jos yra viena. Kairioji jungtis yra tik kairiosios išorinės jungties trumpinys. Žodis "išorinė" tik leidžia aiškiau suprasti, kokia tai operacija, tačiau abu raktai atlieka tas pačias funkcijas.

Kodėl kairioji jungtis vadinama kairiąja išorine jungtimi?

Galėsite jį pavadinti išplėstiniu arba sutrumpintuoju pavadinimu. Be to, tai tas pats dalykas.

Atminkite, kad šis Join grąžina visas kairėje pusėje esančios lentelės eilutes, o dešinėje Join pusėje - sutampančias eilutes. Jei dešinėje pusėje nėra sutampančių pusių, rezultatas yra nulis.

Taigi, jei sujungtume dvi lenteles A ir B, SQL kairės pusės išorinis sujungimas grąžintų visas kairės lentelės A eilutes ir visas eilutes, atitinkančias kitos lentelės B eilutes dešinėje pusėje. Trumpai tariant, SQL kairiojo sujungimo rezultatą visada sudaro eilutės iš kairės pusės lentelės.

Skirtumas tarp Join ir Left Join

Dėl pagrindų, Join taip pat vadinamas Inner Join, o Left Join - Outer Join.

Tačiau pagrindinis skirtumas yra tas, kad kairiojo sujungimo teiginys gali apimti ir sujungti visas lentelės, į kurią daroma nuoroda kairėje informacijos pusėje, eilutes. Vietoj nesuderintų eilučių ją sudaro visos kairės lentelės eilutės ir suderintos kitų lentelių eilutės.

Kada naudoti kairiąją išorinę jungtį SQL kalboje?

Tarkime, ieškote būdo, kaip sujungti skirtingas lenteles. Jei jungiate dvi lenteles ir norite, kad į rezultatų rinkinį būtų įtrauktos tik vienos lentelės nesutampančios eilutės, turėtumėte naudoti kairiojo išorinio sujungimo sąlygą arba tinkamą išorinio sujungimo sąlygą. Naudojant kairiojo išorinio sujungimo sąlygą, į rezultatų rinkinį įtraukiamos nesutampančios eilutės iš lentelės, nurodytos prieš kairiojo išorinio sujungimo sąlygą.

Techniškai kairioji išorinė jungtis nustato visas eilutes iš abiejų lentelių, kurios atitinka jungimo sąlygą, ir nesuderintas lentelės eilutes.

Ar kairioji išorinė jungtis padidina eilučių skaičių?

Tai dažnai užduodamas klausimas. Techniškai jis yra teigiamas.

Tačiau "Left Join gali tik padidinti kairėje lentelėje esančių eilučių skaičių. Ir tai daroma tik tada, kai dešinėje lentelėje yra daug atitikmenų. Be to, vienoje užklausoje galite naudoti daug Left Joins, jei to reikia analizei.

Kairės išorinės jungties ir dešinės išorinės jungties palyginimas

Esminis skirtumas tarp kairiosios išorinės jungties ir dešiniosios išorinės jungties yra toks. sujungti nesuderintas eilutes.

Skirtumas tarp šių dviejų jungčių yra tas, kad kairioji išorinė jungtis apima nesuderintas eilutes arba visus lentelės, esančios jungimo sąlygos kairėje, įrašus, įskaitant suderintas dešiniosios lentelės arba sąlygos eilutes.

Kita vertus, dešinysis išorinis sujungimas apima nesuderintas eilutes iš dešinėje sujungimo sąlygos pusėje esančios lentelės ir grąžina visas dešiniosios pusės eilutes.

Sąlyga "Join" sujungia dviejų ar daugiau lentelių įrašus arba keičia ir tvarko formas, naudodama sujungimo sąlygą. Ši sąlyga "Join" nurodo, kaip lyginami skirtingų lentelių stulpeliai.

Pavyzdžiui, tarp lentelės, kurioje pateikiamas darbuotojo atlyginimas, ir kitos lentelės, kurioje pateikiama informacija apie darbuotoją, bus standartinis stulpelis. Tai gali būti darbuotojo ID, kuris padeda sujungti abi lenteles.

Taigi lentelę galite laikyti esybe, o raktas yra bendra dviejų lentelių jungtis, naudojama bendram darbui.

Studijuoti duomenų bazes gali būti sudėtinga. Tačiau tai gana paprasta, jei gerai suprasite.

Kuo skiriasi dešinioji jungtis ir dešinioji išorinė jungtis?

Dešiniosios jungtys yra panašios į kairiąsias jungtis, tik iš dešiniosios pusės grąžinamos visos lentelės eilutės, o iš kairiosios pusės - sutampančios eilutės.

Vėlgi, dešinioji jungtis ir dešinioji išorinė jungtis neturi jokio konkretaus skirtumo, kaip ir kairioji jungtis ir kairioji išorinė jungtis. Trumpai tariant, terminas "Right Join" yra tiesiog dešiniosios išorinės jungties trumpinys.

Abiem atvejais atliekamas tas pats darbas - sujungiami duomenų rinkiniai ir lentelės.

Kodėl verta naudoti dešinįjį, o ne kairįjį prisijungimą?

Paprastai dešiniosios išorinės jungtys nėra taip dažnai naudojamos, nes jas visada galima pakeisti kairiosiomis išorinėmis jungtimis ir nereikės atlikti jokių papildomų funkcijų.

Norint, kad jūsų SQL kalba būtų geriau dokumentuojama, reikėtų galvoti apie dešiniojo, o ne kairiojo prisijungimo (Right Join) naudojimą.

Galite naudoti Kairė jungtis spręsti užklausas, kurių priklausomoje pusėje yra nulinių eilučių. Dešinysis Prisijungti klausimams, kurie nepriklausomoje pusėje generuoja nulines eilutes.

Svetainė Dešinioji išorinė jungtis taip pat naudinga, kai reikia sujungti vieną lentelę su daugelio kitų lentelių sankirta.

Taip pat žr: Pokémon Black vs. Black 2 (štai kuo jie skiriasi) - Visi skirtumai

Skirtumas tarp "Join" ir "Union" SQL kalboje

Skirtumas tarp "Join" ir "Union" yra tas, kad "Union" naudojama dviejų ar daugiau SELECT komandų rezultatų rinkiniui sujungti.

Nors Join sujungia duomenis iš daugelio lentelių, priklausomai nuo suderintos sąlygos, naudojant Join teiginius sujungti duomenys sukuria naujus stulpelius.

Duomenis sujungus naudojant "Union" komandą, gaunamos naujos atskiros eilutės iš rinkinių su vienodu stulpelių skaičiumi.

Galutinės mintys

Apibendrinant, yra nėra skirtumo tarp LEFT JOIN ir LEFT OUTER JOIN . Tai taip pat galioja dešiniojo sujungimo ir dešiniojo išorinio sujungimo atveju.

Abu klavišai atlieka tas pačias funkcijas, o " "išorinis" yra tik neprivalomas raktažodis. Kai kurie žmonės rekomenduoja jį naudoti tik dėl to, kad jis paaiškina, jog kuriate išorinį prisijungimą.

Taigi, galiausiai tai, ar nurodysite, ar ne, neturi jokios reikšmės.

Kiti įdomūs straipsniai:

    Spauskite čia, jei norite sužinoti daugiau apibendrintos informacijos apie šiuos skirtumus.

    Mary Davis

    Mary Davis yra rašytoja, turinio kūrėja ir aistringa tyrinėtoja, kurios specializacija yra palyginimo analizė įvairiomis temomis. Turėdama žurnalistikos laipsnį ir daugiau nei penkerių metų patirtį šioje srityje, Mary aistringai teikia nešališką ir aiškią informaciją savo skaitytojams. Jos meilė rašymui prasidėjo, kai ji buvo jauna, ir ji buvo sėkmingos rašymo karjeros varomoji jėga. Marijos sugebėjimas tyrinėti ir pateikti išvadas lengvai suprantamu ir patraukliu formatu ją pamėgo skaitytojai visame pasaulyje. Kai ji nerašo, Marija mėgsta keliauti, skaityti ir leisti laiką su šeima bei draugais.