Forskelle mellem Venstre og Højre Tilslut Forskel mellem

Anonim

Venstre vs Højre Tilslut

Når man beskæftiger sig med SQL, er tilsluttet et almindeligt navn, der vil pope op nu og da. Sammenslutningsklausulen hjælper i kombinationen af ​​optegnelser fra forskellige tabeller i et datasæt. Sammenføjningen skaber et bord, som enten kan bruges som det er eller rulles ud med andre. Det er derfor tilrådeligt at forstå disse sammenføjninger og forskellene mellem dem for at kende den specifikke deltagelse, og om højre eller venstre burde tages i særlige tilfælde.

For at forstå bliver bedre og deres forskelle, er det vigtigt at forstå, hvilke typer tilslutninger der er til rådighed. Der er generelt tre typer sammenføjninger. Disse sammenføjninger indbefatter det indre samlestykke, krydsforbindelsen og den ydre samling. Den indvendige deltager sammenligner generelt tabeller og vil kun give eller returnere et resultat i tilfælde af at en match er fundet. Hovedfunktionen af ​​en indre sammenføjning er at reducere størrelsen af ​​resultat sæt.

Krydsforbindelser derimod sammenligner to tabeller og giver en retur af hver eneste kombination, der kommer fra rækken af ​​begge tabeller. Der forventes talrige resultater fra denne deltagelse, og de fleste af dem er måske ikke engang meningsfuld. Brug af denne deltagelse bør derfor praktiseres forsigtigt.

Den ydre tilslutning tager en sammenligning af tabeller og returnerer data, når en kamp er tilgængelig. Som det ses i det indre samlestykke duplikerer den ydre samling rækker i et givet bord i tilfælde af, at matchende poster ses. Resultaterne af ydre samlinger er normalt større og dermed er datasætene store, fordi sætet i sig selv ikke fjernes fra sættet.

Et venstre deltager henviser til at holde alle poster fra 1. bord uanset resultat og indsættelse af NULL værdier, når de anden tabelværdier ikke stemmer overens. En korrekt deltagelse henviser derimod til at holde alle poster hentet fra 2. bord uanset hvad resultatet er, og brugen af ​​NULL værdier, når resultaterne ikke stemmer overens med dem i 1. bord.

En venstre ydre sammenføjning bevarer derfor alle de rækker, der er i tabellen 'venstre', uanset om der er en række, der matcher den på 'højre' bordet. Det venstre bord henviser derfor til tabellen, der kommer først i fælleserklæringen. Det skal vises til venstre for søgeordet "join", der forekommer på bordet. Når en venstre ydre sammenføjning er færdig, skal alle rækker fra venstre returneres. Ikke-matchende kolonner i tabellen bliver fyldt med en NULL, når der ikke er nogen match.

Det er vigtigt at bemærke, at når der arbejdes med disse to sammenføjninger, vises alle rækker fra venstre af bordet i tabellen i en venstre ydre sammenføjning. Resultaterne vises selv, uanset om der findes matchende kolonner i højre tabel.I en højre ydre sammenføjning vises alle rækker fra højre, og dette er uanset om der er matchende kolonner i venstre side af bordet.

Valget af, om man skal gå til venstre ydre sammenføjning eller den højre ydre sammenføjning, betyder ikke noget, da de samme resultater vises. Funktionaliteten, at en ret ydre tilslutte gaver er den samme funktionalitet, som den venstre ydre sammenføjning præsenterer. Ved simpelthen at skifte rækkefølge, hvor tabellerne vises i SQL-sætningen, kan du forvente lignende resultater, uanset hvilken tilsluttet brugt.

Sammenfatning

Forbindelser kommer i tre hovedgrupper - indvendig tilslutning, krydsforbindelse og ydre tilslutning

En venstre ydre tilslutning viser alle rækkerne fra venstre side af bordet

Et højre knap viser alle rækker fra til højre for tabellen

Hvis du ændrer SQL-sekvensen, kan du eliminere brugen af ​​både højre og venstre ydre led og i stedet kun bruge en.