Liittymistyypit SQL Serverissä SQL Serverin viisi parasta liittymistä esimerkkien avulla

Sisällysluettelo:

Anonim

Yleiskatsaus SQL Server -liittymätyypeistä

Liittymislause, JOIN-avainsana yhdistetään useita taulukoita yhdeksi tulosjoukkoksi. FROM-lausekkeen on sisällettävä kaikki taulukot. Erottaa jokaisen taulukon pilkulla WHERE-lauseella, joka sisältyy tyypillisesti.

Voimme laittaa Boolen lausekkeen, joka palauttaa tosi tai epätosi, ja ne voivat viitata kaikkien taulukoiden sarakkeisiin.

Tyypit liittymiset SQL Serverissä

Liitoksia on erityyppisiä

  • Ristiliittymä
  • SISÄINEN LIITTYMINEN
  • ULKOINEN LIITTYMINEN
  1. VASEN ULKO-LIITTYMINEN
  2. OIKEA ULKOINEN LIITTY
  • TÄYSIN ULKOINEN LIITTYVÄ
  • Itsenäinen liittyminen

Ymmärrämme jokainen näistä liittymistä yksityiskohtaisesti: -

1) Cross Join

  • Tämä on yksinkertaisin liity
  • Se palauttaa kaikki rivit molemmista taulukoista
  • Ei WHERE-lauseketta
  • Tämä on myös vähiten hyödyllistä
  • Se on erittäin tehoton
  • Se luo Cartesian-tuotteen
  • CROSS-avainsana vihjataan

esimerkki

Joten kaikki ensimmäisestä pöydästä jokaisella tiedolla toisesta taulukosta yrittämättä minkäänlaista hakua, joten tämä on asia, jota et halua tehdä.

Etsi FROM-lause, jossa sinulla on useita taulukoita eikä WHERE-lauseketta ole.

2) Sisäinen liittyminen

Kyselyn tulos:

Alku- ja viimeisillä riveilläsi on koordinaattoriarvoja C2: n kanssa. Keskimmäiset rivit eivät yleensä täytä. Viimeinen lopputulos tarjoaa kaikki arvot sekä alkuperäisellä että viimeisellä rivillä, mutta eivät vielä sisällä tuota ei-vastaavaa keskiosa-riviä.

  • Tämä on tyypillisin LIITTYMINEN
  • Tämä korosti tietokannan relatiivista luonnetta
  • Sen avulla voimme sovittaa yhden taulukon sarakkeen arvon toisen taulukon sarakkeen arvoon.
  • Ensisijainen avain yhdessä taulukossa ja vieras avain yhdessä muussa taulukossa.

esimerkki

Tässä p.person_id on ensisijainen avain henkilötaulukossamme,

email_address_person_id on vieras avain sähköpostiosoitetaulukkoon.

Katsotaanpa henkilöpöytää

Meillä on nuo neljä riviä. Ja sitten kaikki vastaavuudet sähköpostiosoitetaulukon sisällä.

Joten lopulta pitäisi saada kolme ihmistä, koska meillä on henkilö Shannon, jolla ei ole sähköpostiosoitetta

Kyselyn tulos:

Joten saamme tietoja vain silloin, kun kummassakin taulukossa olevien sarakkeiden välillä on vastaavuus

3) Ulkoinen liittyminen

  • INNER JOIN ei käsittele NULL-arvoja
  • ULKOINEN LIITTYMINEN toimii, vaikka toisessa pöydässä ei olisi ottelua.
  • NULL saraketta, jos toisessa taulukossa ei ole vastaavuutta
  • FULL OUTER JOIN palauttaa kaikki liittyneet rivit
  • NULL kun ei vastaa kummassakaan taulukossa

a) Vasen ulko-liittymä

Kyselyn tulos: Olet myös alkuperäinen, ja viimeisillä riveillä on koordinaatiotiedot C2: n kanssa. Keskimmäiset rivit eivät yleensä täytä. Viimeisessä lopputuloksessa voitaisiin pitää ensimmäisen taulukon kaikki rivit, mutta todellisuudessa se jättää vastaamattoman rivin toisen taulukon läpi.

  • Toinen NULL-liittyvä JOIN
  • Kaikki vasemmalla puolella olevat rivit palautetaan
  • NULL ei vastaa oikeanpuoleiselle pöydälle

esimerkki

Kyselyn tulos:

Huomaat, että Henkilö-taulukossa on yksi rivi, jolla ei ole arvoja sähköpostiosoitetaulukossa. Joten VASEN ULKOYHTEYS antaa meille.

b) Oikea ulko-liittymä

Kyselyn tulos:

Olet myös alkuperäinen, ja viimeisillä riveillä on koordinaatiotiedot C2: n kanssa. Keskimmäiset rivit eivät yleensä täytä. Viimeinen lopputulos voisi pitää toisen taulukon kaikki rivit, mutta todella jättää vastaamattoman rivin ensimmäisen taulukon läpi.

  • Vasemmalla VASEMMALLA ULKOON
  • Kaikki oikealta puolelta tulevat rivit palautetaan
  • NULL ei vastaa vasemmalle sivupöydälle

esimerkki Kyselyn tulos:

Meillä on kolme tulosta. Tässä on OIKEA ULKOINEN LIITTYMINEN -tuloksemme, jossa meillä on rivi sähköpostiosoitetaulusta, jolla ei ole vastaavaa riviä oikeanpuoleisessa taulukossa.

4) Täysi ulkoinen liittyminen

esimerkki

Kyselyn tulos:

Yhdistämme VASEMMEN ULKOISEN LIITTYMISEN ja OIKEA ULKOISEN LIITTYMISEN tuloksen

5) Oma liittyminen

  • SELF ei ole avainsana. Se on juuri tämä ajatus, että voit tehdä pöydän itse
  • Oudoton, mutta joskus hyödyllinen
  • Ei erityistä syntaksia
  • Sama pöytä JOIN: n vasemmalla ja oikealla puolella
  • Hyödyllinen, kun taulukko sisältää hierarkkista tietoa

esimerkki

VALITSE *

LOPPUA tilauksista

LIITÄ tilaukset

PÄÄLLÄ tilaukset.tilaukset_id = tilaukset.tilaukset_id;

Saamme tilaustaulukon ja tilaustaulukon ja LIITÄ taulukkoon VALITSE kaikki sarakkeet.

Saadaksesi tuloksen.

johtopäätös:

Liitokset ovat tapa, jolla saamme relaatiomallin elämään. Suhteellisuusmallissa tarkoitetaan tietojen erottamista, normalisointia useisiin taulukoihin, mutta kykyä koota se takaisin yhteen, kun haluamme nähdä nämä suhteet. Ja erilaiset liitokset antavat meille mahdollisuuden tehdä se hiukan eri tavoin.

Suositellut artikkelit

Tämä on opas SQL-palvelimen liittymätyypeistä. Tässä keskustellaan SQL-liittymien yleiskatsauksesta ja tyypeistä heidän esimerkkinsä kanssa. Voit myös käydä läpi muiden ehdotettujen artikkeleidemme saadaksesi lisätietoja -

  1. Mikä on SQL Server?
  2. Urat SQL Serverissä
  3. PL SQL -koulutus
  4. MySQL-operaattorit
  5. MySQL: n kuusi suosittua liittymistyyppiä ja esimerkkejä