Indvendig tilslutning mod ydre tilslutning


I SQL, a tilslutte bruges til at sammenligne og kombinere - bogstaveligt talt sammen - og returnere specifikke rækker med data fra to eller flere tabeller i en database. en indre sammenføjning finder og returnerer matchende data fra tabeller, mens en ydre sammenføjning finder og returnerer matchende data og nogle forskellige data fra tabellerne.

rapporter denne annonce

Indre del

En indre sammenføjning fokuserer på fællesheden mellem to borde. Når du bruger en indre sammenføjning, skal der være mindst nogle matchende data mellem to (eller flere) tabeller, der sammenlignes. En indre samling søger i tabeller efter matchende eller overlappende data. Når man finder det, kombinerer og returnerer den indre sammenføjning informationen i en ny tabel.

Eksempel på Inder Join

Lad os overveje et fælles scenario med to tabeller: produktpriser og -mængder. Den almindelige information i de to tabeller er produktnavnet, så det er den logiske kolonne, der skal slutte sig til tabellerne . Der er nogle produkter, der er almindelige i de to tabeller; andre er unikke for et af tabellerne og har ikke en match i den anden tabel.

En indre sammenføjning Produkter returnerer information om kun de produkter, der er almindelige i begge tabeller.

Ydre deltag

En ydre sammenføjning returnerer et sæt poster (eller rækker), der inkluderer, hvad en indre sammenføjning ville vende tilbage, men som også indeholder andre rækker, for hvilke der ikke findes noget matchende match i den anden tabel.

Der er tre typer ydre samlinger:

  • Venstre yderforbindelse (eller venstre sammenføjning)
  • Højre ydre sammenføjning (eller højre tilslutning)
  • Fuld ydre tilslutning (eller Fuld tilslutning)

Hver af disse ydre sammenføjninger henviser til den del af de data, der sammenlignes, kombineres og returneres. Nogle gange produceres nuller i denne proces, da nogle data deles, mens andre data ikke er det.

Venstre yderside

En venstre ydre sammenføjning returnerer alle dataene i tabel 1 og alle de delte data (altså den inderste del af Venn-diagrameksemplet), men kun tilsvarende data fra tabel 2, som er den rigtige sammenføjning.

Eksempel på venstre deltagelse

I vores eksempeldatabase er der to produkter - appelsiner og tomater - til 'venstre' (priserne tabel) der ikke har en tilsvarende indgang til 'højre' (tabellen Mængder). I en venstre sammenføjning er disse rækker inkluderet i resultatsættet med en NULL i kolonnen Mængde. De andre rækker i resultatet er de samme som den indre sammenføjning.

Højre ydre del

En højre ydre sammenføjning returnerer Tabel 2's data og alle de delte data, men kun tilsvarende data fra Tabel 1, som er den venstre sammenføjning.

Eksempel på højre side

I lighed med eksempel på venstre sammenføjning inkluderer output fra en højre ydre sammenføjning alle rækker af den indre sammenføjning og to rækker - broccoli og squash - fra 'højre' (mængder tabel) der ikke har matchende poster til venstre.

Fuld ydre deltag

En fuld ydre sammenføjning eller fuld sammenføjning, hvilket er ikke understøttet af det populære MySQL-databasesystem, kombinerer og returnerer alle data fra to eller flere tabeller, uanset om der er delte oplysninger. Tænk på en fuld sammenføjning som blot at duplikere alle de specificerede oplysninger, men i en tabel snarere end i flere tabeller. Hvor matchende data mangler, produceres nul.

Dette er bare det grundlæggende, men mange ting kan gøres med sammenføjninger. Der er endda sammenføjninger, der kan udelukke andre sammenføjninger!

Video Explaining Inner vs Outer Joins

Denne video forklarer forskellen mellem forskellige typer sammenføjninger. Det er cued for at begynde på det tidspunkt, hvor diskussionen om sammenbinding begynder.

Referencer

  • Forskel mellem indre og ydre sammenføjning - Stabeloverløb
  • SQL Inner Join - Quackit
  • SQL ydre tilslutning - Quackit
  • Brug af indre forbindelser - Microsoft SQL Server
  • Brug af ydre forbindelser - Microsoft SQL Server
  • Visuel repræsentation af SQL-sammenkoblinger - CodeProject
  • Wikipedia: Deltag i (SQL)