Sisäinen liittyminen vs. ulkoinen liittyminen


SQL: ssä, a liittyä seuraan käytetään vertailemaan ja yhdistämään - kirjaimellisesti liittymään - ja palauttamaan tietyt tietorivit kahdesta tai useammasta taulukon tietokannasta. sisäinen liittyminen etsii ja palauttaa vastaavat tiedot taulukoista, kun taas ulompi liitos etsii ja palauttaa vastaavat tiedot ja joitain erilaisia ​​tietoja taulukoista.

Ilmoita tämä ilmoitus

Sisäinen liittyminen

Sisäinen liitos keskittyy kahden pöydän väliseen yhtenevyyteen. Sisäistä liitosta käytettäessä kahden (tai useamman) vertailtavan taulukon välillä on oltava ainakin joitain vastaavia tietoja. Sisäinen liittymä etsii taulukoista tietoja vastaavia tai päällekkäisiä. Löytyneensä sen sisäinen liitos yhdistää ja palauttaa tiedot yhdeksi uudeksi taulukkoksi.

Esimerkki sisäisestä liittymisestä

Tarkastellaan kahden taulukon yleistä skenaariota: tuotteiden hinnat ja määrät. Kahden taulukon yleinen tieto on tuotenimi, joten se on looginen sarake taulukkojen yhdistämiseksi päällä. Jotkut tuotteet ovat yleisiä kahdessa taulukossa; toiset ovat ainutlaatuisia yhdessä taulukossa, eikä heillä ole vastaavaa toisessa taulukossa.

Sisäinen liittyminen Tuotteet palauttaa tiedot vain niistä tuotteista, jotka ovat yleisiä molemmissa taulukoissa.

Ulkoinen liittyminen

Ulompi liitos palauttaa joukon tietueita (tai rivejä), jotka sisältävät mitä sisäinen liittymä palauttaisi, mutta sisältää myös muita rivejä, joille vastaavaa vastaavuutta ei löydy toisesta taulukosta.

Ulkoisia liitoksia on kolme tyyppiä:

  • Vasen ulompi liittyminen (tai vasen liittyminen)
  • Oikea ulkoinen liittyminen (tai oikea liittyminen)
  • Täysi ulkoinen liittyminen (tai täysi liittyminen)

Jokainen näistä ulommista liitoksista viittaa dataan, jota verrataan, yhdistetään ja palautetaan. Joskus tässä prosessissa tuotetaan nollia, koska jotkut tiedot jaetaan, kun taas toiset eivät.

Vasen ulompi liittyä

Vasen ulompi liitos palauttaa kaikki taulukon 1 tiedot ja kaikki jaetut tiedot (siis Venn-kaavion esimerkin sisäosa), mutta vain vastaavat tiedot taulukosta 2, joka on oikea liitos.

Vasen liittymisesimerkki

Esimerkkitietokannassamme on kaksi tuotetta - appelsiinit ja tomaatit - vasemmalla (hintoja taulukko), jolla ei ole vastaavaa merkintää oikealla (Määrä-taulukko). Vasemmassa liitoksessa nämä rivit sisältyvät tulosjoukkoon NULL-määrällä Määrä-sarakkeessa. Tuloksen muut rivit ovat samat kuin sisempi liitos.

Oikea ulkoinen liittyminen

Oikea ulompi liitos palauttaa taulukon 2 tiedot ja kaiken jaetun tiedon, mutta vain vastaavat tiedot taulukosta 1, joka on vasen liitos.

Oikean liittymisen esimerkki

Kuten vasen liitos esimerkki, oikean ulomman liitoksen ulostulo sisältää kaikki sisemmän liitoksen rivit ja kaksi riviä - parsakaalia ja kurpitsaa - oikealta (määrät taulukko), joiden vasemmalla puolella ei ole vastaavia merkintöjä.

Täysi ulkoinen liittyminen

Täydellinen ulompi liittymä tai täysi liitos, joka on ei jota tukee suosittu MySQL-tietokannan hallintajärjestelmä, yhdistää ja palauttaa kaikki tiedot kahdesta tai useammasta taulukosta riippumatta siitä, onko jaettua tietoa. Ajattele täydellistä liittymistä yksinkertaisesti kopioimalla kaikki määritetyt tiedot, mutta yhdessä taulukossa, ei useammassa taulukossa. Jos vastaavia tietoja puuttuu, nollat ​​luodaan.

Nämä ovat vain perusasioita, mutta liitoksilla voidaan tehdä monia asioita. On jopa liittymiä, jotka voivat sulkea pois muut liittymät!

Video, jossa selitetään sisäiset ja ulkoiset liitokset

Tämä video selittää erityyppisten liitosten eron. Se on tarkoitus aloittaa siitä kohdasta, jossa liittymiskeskustelu alkaa.

Viitteet

  • Ero sisäisen ja ulkoisen liitoksen välillä - Pino ylivuoto
  • Sisäinen SQL-liittymä - Quackit
  • SQL-ulkoinen liittyminen - Quackit
  • Sisäisten liitosten käyttö - Microsoft SQL Server
  • Ulkoisten liitosten käyttö - Microsoft SQL Server
  • SQL-liittymien visuaalinen esitys - CodeProject
  • Wikipedia: Liity (SQL)