Verskil tussen linkse aansluiting en links buitenste aansluiting in SQL – al die verskille

 Verskil tussen linkse aansluiting en links buitenste aansluiting in SQL – al die verskille

Mary Davis

'n Databasis bestaan ​​uit 'n georganiseerde versameling van gestruktureerde inligting wat gewoonlik elektronies in 'n rekenaarstelsel gestoor word. Verskeie verskillende databasisse, soos SQL Server, Oracle, PostgreSQL en MySQL, gebruik tipies 'n taal om data te bestuur .

Een so 'n taal staan ​​bekend as SQL. SQL het verskillende aansluitings-opdragte in die vorm van innerlike aansluiting, links aansluiting en regter aansluiting.

Sien ook: Vergelyk Emo & amp; Goth: persoonlikhede en kultuur - al die verskille

Soos jy dalk weet, word 'n Join in SQL gebruik om rye van twee of meer tabelle van die verwante kolom saam te stel . Dit kan 'n vraag laat ontstaan ​​oor wat ander variasies doen.

Dit is 'n bietjie verwarrend, ek is seker! Maar moenie bekommerd wees nie, ek sal 'n gedetailleerde weergawe verskaf van wat dit is wat dit beteken, en hopelik sal dit jou help om beter te verstaan.

Kom ons kry dit!

Wat is SQL?

SQL staan ​​vir Structured Query Language. Dit is 'n taal wat deur verskeie databasisse gebruik word vir die skryf en navrae van data. Dit laat toe om inligting te bestuur deur tabelle te gebruik en vertoon 'n taal om hierdie tabelle en ander verwante voorwerpe te bevraagteken, soos aansigte, funksies, prosedures, ens.

Donald Chamberlin en Raymond Boyce is die ontwerpers van SQL, wat hulle gemaak het om data te manipuleer. Hul model was gebaseer op die werke van Edgar Frank Codd, wat vir IBM gewerk het en die relasionele databasis in die 70's uitgevind het.

Aanvanklik is dit SEQUEL genoem, maar dit is verkort na SQL as gevolg van spesifiekehandelsmerkkwessies. Jy kan hulle egter steeds OPVOLG noem as jy wil.

Met SQL kan jy data invoeg, uitvee en opdateer en ander databasisobjekte skep, uitvee of verander. Die standaard SQL-opdragte is “ kies”, “delete”, “insert”, “update”, “create” en “drop” . Dit kan alles bereik wat 'n mens op 'n databasis moet doen.

Boonop word hierdie taal in verskeie databasisse gebruik om data en databasisvoorwerpe te help hanteer. As dit vir jou ingewikkeld klink, hier is 'n video wat verduidelik wat SQL vir beginners is:

Kan 'n databasis sonder 'n taal werk?

Waarom gebruik ons ​​SQL?

Dit is redelik eenvoudig. Ons sal nie databasisse sonder SQL verstaan ​​nie. Op dieselfde manier kan ons nie die databasis daarsonder opdrag gee nie, want SQL is 'n stelsel wat gebruik word om met 'n databasis te kommunikeer.

SQL -stelsels voer take uit soos die verwydering, byvoeging of wysiging van data. Hierdie stelsel word algemeen gebruik om dit makliker te maak om groot hoeveelhede data te hanteer deur dit doeltreffend te bestuur. 'n Paar standaard relasionele databasisbestuurstelsels wat SQL gebruik, sluit Oracle, Sybase, Microsoft Access en Ingres in.

Wat is Inner Join en Outer Join?

Wel, eerstens, kom ons verstaan ​​wat verbindings is. In SQL word verbindings gebruik om die inhoud van verskillende tabelle. Jy kan die data op baie maniere kombineer deur te spesifiseer hoe jy die data wil hêgeïntegreer en watter tipe aansluiting jy wil gebruik.

'n Innerlike aansluiting is 'n aansluiting wat alle rye van beide die deelnemende tabelle terugstuur waar die noodsaaklike -rekord van een tabel dieselfde is as die kritieke -rekords van 'n ander tabel.

Hierdie soort aansluiting het 'n vergelykingsoperateur vereis om rye van die deelnemende tabelle te pas wat 'n standaardveld of kolom van beide die tabelle ondersteun het.

Outere aansluiting kan nie terugkeer nie -passende rye in een of albei van die tabelle . Basies gee dit alle rye terug van al die tabelle wat aan die voorwaardes voldoen.

Daar is baie verskillende tipes Outer Joins. Dit sluit in Linkeraansluiting, Regsaansluiting en Volle buitenste aansluiting.

Hier is 'n tabel wat die beduidende funksies van die verbindings wat in SQL beskikbaar is, opsom:

Sien ook: Hoe lank het die prins as 'n dier vervloek gebly? Wat is die ouderdomsverskil tussen Belle en die dier? (Gedetailleerd) - Al die verskille
Tips van verbindings: Funksie :
Innerlike aansluiting Dit gee rye terug wanneer daar ten minste een pasmaat in beide tabelle is.
Left Outer Join Dit gee al die rye van die linkertabel terug in samewerking met die ooreenstemmende rye van die regtertabel.
Right Outer Join Dit gee al die rye van die regtertabel terug in samewerking met die ooreenstemmende rye van die linkertabel.
Volledige buitenste aansluiting Dit kombineer linker buitenste aansluiting en regter buitenste aansluiting. Wys rye uit enige tabel wanneer daar aan voorwaardes voldoen word.

Dit wys die verskille tussen vier verbindings in SQL.

Verskil tussen Inner en Outer Join

Daar is meer. Die beduidende verskil tussen die binneste en buitenste verbindings is dat binneverbindings gewoonlik lei tot die kruising van twee tabelle. Daarenteen lei Outer Joins tot die vermenging van twee tabelle.

Basies lei Innerlike aansluiting tot die oorvleuelende deel van twee datastelle, soos in die prent hieronder getoon. Jy sal slegs daardie standaardrye in beide tabelle kombineer vir Inner Joins. Aan die ander kant gee Outer Joins al die rekords terug met waardes in óf links óf geskikte tabelle.

Buitelike verbindings sluit die ooreenstemmende rye en die nie-ooreenstemmende rye van die tabelle in. Boonop verskil 'n Uitste aansluiting van 'n binne aansluiting in die bestuur van die vals passing toestand.

Linker buitenste aansluiting bestaan ​​uit linkerbuite aansluiting + binneste aansluiting. Terwyl die regte buitenste aansluiting ook bestaan ​​uit bestaan ​​uit regte buitenste aansluiting + innerlike aansluiting. Full Outer Join bestaan uit hulle almal.

Left Join (Is dit dieselfde as Left Outer Join in SQL?)

Miskien het jy daarvan gehoor Links Sluit ook by SQL aan? Wel, dit is net dieselfde Left Outer Join. Hulle het twee verskillende name vir dieselfde funksie.

'n Linkerverbinding is dieselfde as 'n Left outer join in SQL, en hulle is een. Die linkse aansluiting is net 'n snelskrif vir die linker buitenste aansluiting. Die woord"buitenste" maak dit net meer eenvoudig wat die bewerking is, maar albei sleutels voer dieselfde funksies uit.

Waarom Left Join die Left Outer Join genoem word?

Jy sal opsies hê om dit op sy uitgebreide naam of die kortpad een te noem. Boonop is dit net dieselfde ding.

Onthou dat hierdie aansluiting al die rye in die tabel aan die linkerkant en die ooreenstemmende rye aan die regterkant van die aansluiting gee. As daar geen ooreenstemmende kante aan die regterkant is nie, is die resultaat nul.

As ons dus twee tabelle, A en B, sou verbind, sal SQL Left Outer Join alle rye in die linkertabel terugstuur. , wat A is, en al die rye wat ooreenstem in die ander tabel B aan die regterkant. In kort, die resultaat van die SQL Left Join bestaan ​​altyd uit die rye vanaf die linkerkanttabel.

Verskil tussen aansluiting en linkeraansluiting

Vir die basiese beginsels word aansluiting ook 'n innerlike aansluiting genoem, terwyl linkeraansluiting 'n buitenste aansluiting is.

Maar die belangrikste verskil is dat 'n linkse koppelingsstelling waarskynlik alle rye van die tabel waarna verwys word aan die linkerkant van die inligting sal insluit en kombineer. In plaas van net die rye wat nie ooreenstem nie, bestaan ​​dit uit alle rye van die linkertabel en ooreenstemmende rye van die ander tabelle.

Wanneer om Left Outer Join in SQL te gebruik?

Sê nou jy soek 'n manier om verskillende tabelle te kombineer. Of, as jy by twee tabelle aansluit en wil hê dat die resultaat op gestel issluit slegs een tabel se ongeëwenaarde rye in, jy moet 'n linker buitenste aansluitingsklousule of 'n behoorlike buitenste aansluitingsklousule gebruik. Die gebruik van Left Outer Join bestaan ​​uit die rye wat nie ooreenstem met die tabel wat gespesifiseer is voor die linker buitenste aansluitingsklousule nie.

Tegies identifiseer die linker buitenste aansluiting al die rye van beide die tabelle wat aan die koppelingsvoorwaarde en ongeëwenaarde rye uit die tabel.

Dit is 'n gereelde vraag. Tegnies is dit 'n ja.

Left Join kan egter net die aantal rye in die linkertabel vermeerder. En dit is slegs wanneer verskeie wedstryde in die regte tabel is. Daarbenewens kan jy talle Left Joins in een navraag gebruik as dit nodig is vir jou ontleding.

Die beduidende verskil tussen die linker buitenste aansluiting en die regter buitenste aansluiting is om nie-ooreenstemmende rye te kombineer.

Dus die verskil tussen die twee is dat die linker buitenste aansluiting die ongeooreenste rye of alle rekords van die tabel aan die linkerkant van die aansluitingsklousule insluit, insluitend die ooreenstemmende rye van die regtertabel of klousule.

Aan die ander kant sluit 'n Regs buitenste aansluiting ongeëwenaarde rye van die tabel aan die regterkant van die aansluitingsklousule in en gee alle rye van die regterkant af.

'n Koppelklousule kombineer rekords of wysig en manipuleer vorms van twee of meer tabelle deur gebruik te maak van'n aansluitingsvoorwaarde. Hierdie aansluitingstoestand dui aan hoe die kolomme van die verskillende tabelle ooreenstem wanneer dit vergelyk word.

Daar sal byvoorbeeld 'n standaardkolom wees tussen 'n tabel wat werknemerssalaris bevat en 'n ander tabel wat werknemerbesonderhede bevat. Dit kan werknemer-ID wees, en dit help om by die twee tafels aan te sluit.

Jy kan dus aan die tabel dink as 'n entiteit, en die sleutel is 'n algemene skakel tussen die twee tabelle, wat vir gesamentlike werking gebruik word.

Om databasisse te bestudeer kan moeilik wees. Maar dit is redelik eenvoudig om te kry as jy dit deeglik verstaan.

Wat is die verskil tussen regterverbinding en regterbuitevoeging?

Regsverbindings is soortgelyk aan linkerverbindings, behalwe dat hulle almal terugstuur. rye in die tabel vanaf die regterkant en ooreenstemmendes van die linkerkant.

Weereens, die regteraansluiting en regterbuitenste aansluiting het geen spesifieke verskil nie, net soos 'n linkse aansluiting en links buite aansluiting nie. In kort, die term Regte Aansluiting is bloot 'n snelskrif vir Regte Buite Verbind.

Die "buitenste" sleutelwoord is opsioneel. Hulle verrig albei dieselfde werk deur die datastelle en tabelle te kombineer.

Waarom Regsaansluiting in plaas van Linksaansluiting gebruik?

Oor die algemeen word die regte buitenste aansluitings nie so algemeen gebruik nie, want jy kan dit altyd met linkerbuite aansluitings vervang, en 'n mens hoef nie enige bykomende funksies uit te voer nie.

'n Mens sou daaraan dink om Regs Sluit aan eerder as Links Sluit aan wanneerprobeer om jou SQL meer selfdokumenterend te maak.

Jy kan die Linkeraansluiting gebruik om navrae aan te spreek wat nulrye aan die afhanklike kant het. Jy sal Right Join gebruik vir vrae wat nulrye aan die onafhanklike kant genereer.

Die Right Outer Join is ook nuttig wanneer jy een tabel met die kruising van baie ander tabelle moet kombineer.

Verskil tussen Join en Union in SQL

Die verskil tussen Join en Union is dat Union gebruik word om die resultaatstel van twee of meer SELECT-stellings te kombineer.

Terwyl Join data uit baie tabelle kombineer, afhangende van die ooreenstemmende toestand, lei data wat gekombineer word met behulp van Join-stellings tot nuwe kolomme.

Die data gekombineer met behulp van die Unie-stelling lei tot nuwe afsonderlike rye uit die stelle met 'n gelyke aantal kolomme.

Finale Gedagtes

Ter afsluiting, daar is geen verskil tussen LINKER aansluiting en LINKER BUITE aansluiting . Dit geld ook vir Regte Verbinding en Regte Buite Verbinding.

Albei die sleutels verrig dieselfde funksies, en " buitenste" is net 'n opsionele sleutelwoord om te gebruik. Sommige mense beveel aan om dit net te gebruik omdat dit duidelik maak dat jy 'n Outer Join skep.

Dus, of jy dit spesifiseer of nie, maak op die ou end geen verskil nie.

Ander interessante artikels:

    Klik hier om meer oor hierdie verskille op 'n meer opgesomde wyse te wete te kom.

    Mary Davis

    Mary Davis is 'n skrywer, inhoudskepper en ywerige navorser wat spesialiseer in vergelykingsanalise oor verskeie onderwerpe. Met 'n graad in joernalistiek en meer as vyf jaar se ondervinding in die veld, het Mary 'n passie om onbevooroordeelde en reguit inligting aan haar lesers te lewer. Haar liefde vir skryf het begin toe sy jonk was en was 'n dryfveer agter haar suksesvolle loopbaan in skryfwerk. Mary se vermoë om navorsing te doen en bevindinge in 'n maklik verstaanbare en boeiende formaat aan te bied, het haar by lesers regoor die wêreld bekoor. Wanneer sy nie skryf nie, geniet Mary dit om te reis, lees en tyd saam met familie en vriende deur te bring.