Forskjeller mellom Venstre og Høyre Bli med Forskjellen mellom

Anonim

Venstre mot Høyre Bli med

Når du arbeider med SQL, blir tilknytning et vanlig navn som vil dukke opp nå og da. Sammenslåningsklausulen hjelper i kombinasjonen av poster fra forskjellige tabeller i et datasett. Fellesskapet skaper et bord som enten kan brukes som det er eller rulles ut med andre. Det er derfor tilrådelig å forstå disse sammenføyningene og forskjellene mellom dem for å vite det spesifikke samarbeidet, og om høyre eller venstre burde tas i spesielle tilfeller.

For å forstå blir bedre og deres forskjeller, er det viktig å forstå hvilke typer sammenhenger som er tilgjengelige. Det er generelt tre typer sammenføyninger. Disse sammenføyningene inkluderer det indre festet, korset og det ytre festet. Den indre festet sammenligner vanligvis tabeller og vil bare gi eller returnere et resultat i tilfelle at en kamp er funnet. Hovedfunksjonen til en indre sammenføyning er å redusere størrelsen på resultatsettene.

Kryssforbindelser derimot, sammenligner to tabeller og gir en retur av hver mulig kombinasjon som kommer fra radene i begge tabellene. Tallrike resultater er forventet fra dette medlemmet, og de fleste av dem kan ikke engang være meningsfylte. Bruk av denne samtalen bør derfor praktiseres forsiktig.

Ytre samlingen tar en sammenligning av tabeller og returnerer data når en kamp er tilgjengelig. På samme måte som i den indre sammenføyningen, dupliserer den ytre sammenføyningen rader i et gitt bord dersom matchende poster blir sett. Resultatene av ytre sammenhenger er normalt større og dermed er datasettene store fordi setet i seg selv ikke er fjernet fra settet.

Et venstre parti refererer til å holde alle poster fra 1. tabell uavhengig av resultat, og innføring av NULL-verdier når de andre tabellverdiene ikke stemmer overens. En riktig deltakelse, derimot, refererer til at alle postene kommer fra den andre tabellen uavhengig av hva resultatet er, og bruken av NULL-verdier når resultatene ikke stemmer overens med de i første tabell.

En venstre ytre sammenføyning beholder derfor alle rader som er i "venstre" bordet, uavhengig av om det er en rad som stemmer overens med det "høyre" bordet. Det venstre bordet refererer derfor til tabellen som kommer først i felleserklæringen. Det skal vises til venstre for søkeordet "bli med" som skjer på bordet. Når en venstre ytre sammenføyning er ferdig, skal alle rader fra venstre returneres. Ikke-tilsvarende kolonner i tabellen vil bli fylt med en NULL når det ikke er noen kamp.

Det er viktig å merke seg at når du arbeider med disse to sammenføyningene, vises alle rader fra venstre på bordet i tabellen i en venstre ytre sammenføyning. Resultatene vises selv, uansett om det er noen matchende kolonner i riktig tabell.I en høyre ytre sammenføyning vises alle rader fra høyre, og dette er uavhengig av om det er noen tilsvarende kolonner i venstre side av bordet.

Valget av å gå til venstre ytre sammenføyning eller høyre ytre sammenføyning spiller ingen rolle da de samme resultatene vises. Funksjonaliteten som en høyre ytre bli med presenterer, er den samme funksjonaliteten som den venstre ytre fest presenterer. Ved å bare bytte rekkefølgen der tabellene vises i SQL-setningen, kan du forvente lignende resultater, uavhengig av hvilken tilkobling som brukes.

Sammendrag

Tilknytning kommer i tre hovedgrupper - indre sammenføyning, kryss sammen og ytre sammenføyning

En venstre ytre sammenføyning viser alle rader fra venstre side av bordet

En rett sammenføyning viser alle rader fra til høyre for tabellen

Alternativet til SQL-sekvensen kan eliminere bruk av både høyre og venstre ytre sammenføyning og i stedet bruk bare en.