Taulukoiden ja kyselyjen liittäminen

Taulukoiden ja kyselyjen liittäminen

Huomautus: Microsoft haluaa tarjota sinulle ajantasaisinta ohjesisältöä mahdollisimman nopeasti omalla kielelläsi. Tämä sivu on käännetty automaation avulla, ja siinä saattaa olla kielioppivirheitä tai epätarkkuuksia. Tarkoitus on, että sisällöstä on sinulle hyötyä. Kertoisitko sivun alareunassa olevan toiminnon avulla, oliko tiedoista hyötyä? Tästä pääset helposti artikkelin englanninkieliseen versioon.

Kun Access-kyselyn useista tietolähteistä, voit rajoittaa tietueet, jotka haluat nähdä, miten tietolähteiden liittyvät toisiinsa perusteella käyttämällä liitokset. Voit myös käyttämällä liitokset sekä tietolähteistä tietueiden yhdistäminen niin, että kunkin pari tietueiden lähteistä tulee yksi tietue kyselyn tuloksissa.

Tässä artikkelissa käsitellään erilaisia liitokset ja näytetään, miten niitä käytetään kyselyssä. Oletusarvon mukaan liitoksen luodaan automaattisesti, jos kaksi tietolähteistä, joita käytetään kyselyssä välillä on jo suhde. Liitoksen luodaan myös, jos on selkeästi toisiaan vastaavat kentät. Voit poistaa automaattisesti luotu liity. Tässä artikkelissa on perustietoja taulukkosuhteiden, mukaan lukien luonti.

Huomautus: Voit liittyä kyselyt-taulukoiden ja voit myös liittyä molemmat samalla tavalla.

Artikkelin sisältö

Yleistä

Liitostyypit

Näytä rivit, joissa esiintyvän arvon olemassa sekä yhdistetyt taulukot

Kaikkien rivien näyttäminen yhdestä taulukosta ja niitä vastaavien rivien näyttäminen toisesta taulukosta

Molempien taulukoiden kaikkien rivien näyttäminen ja liittyä, jos on olemassa esiintyvän arvon.

Ristiliitokset

Taulukoiden, kenttien arvojen erisuuruuden perusteella

Liitoksen poistaminen

Yleistä

Tietokanta on kokoelma taulukon, joka on looginen yhteyksiä toisiinsa. Suhteiden avulla voit muodostaa taulukoiden kentät, jotka yhteisistä. Taulukko voi olla osa suhteita, mutta kukin suhde on aina täsmälleen kahden taulukon. Kyselyn yhteyden edustaa liitoksen.

Kun lisäät kyselyyn taulukoita, Access Luo liitokset, jotka perustuvat, jotka on määritetty taulukoiden väliset yhteydet. Voit luoda liitokset manuaalisesti kyselyissä, vaikka ne eivät vastaa suhteita, jotka on jo määritetty. Jos käytät muita kyselyjä (sijaan tai taulukoiden lisäksi) tietojen lähteinä kyselyn, voit luoda liitokset lähdekyselyjen sekä myös näiden kyselyjen ja tietojen lähteinä käytettävät taulukot välillä.

Liitokset toimivat samalla tavalla kuin kyselyehdot siten, että hän vahvistaa säännöt, jotka sisällytetään kyselyn toiminnot on oltava samat tiedot. Toisin kuin ehdot liitokset myös määrittää, että kunkin liitoksen ehdot täyttävät rivit pari yhdistetään tietuejoukon yksi rivi.

On neljä perustyyppiä: Sisäliitokset, Ulkoliitokset, cross liitokset ja Vertailuliitokset. Tässä artikkelissa käsitellään kunkin Liitostyypin voi käyttää, miksi kunkin ja liitosten luomisesta.

Liitokset ovat kyselyille sama kuin yhteydet ovat taulukoille: ne ilmaisevat, miten kaksi lähdettä voidaan yhdistää niiden yhteisten tietoarvojen perusteella. Tässä kuvassa on kyselyn liitos rakennenäkymässä ja liitoksen ominaisuudet avattuna valintaikkunassa:

Liitoksen ominaisuudet -ruutu.

Tämän rivin taulukoiden välille edustaa liitosta. Kaksoisnapsauta Avaa liitoksen Liitoksen ominaisuudet -valintaikkunan (edellisessä) ja Tarkista tai muuta liitosta.

Liitokset ovat joskus suunnallisia. Tämä valintaikkunan alue näyttää, mikä taulukko on mikin liitoksessa ja mitä kenttiä käytetään taulukoiden liittämiseen.

Tämä alue määrittää liitostyypin: vaihtoehto 1 on sisäliitos, 2 on vasen ulkoliitos ja 3 on oikea ulkoliitos.

Molempien taulukoiden kenttiä voidaan käyttää ja molemmista näytetään tehtäväkohtaiset tiedot. Sisäliitoksessa muita tietoja ei lisätä. Ulkoliitoksessa yhden taulukon liittymättömät tietueet sisällytetään myös kyselyn tuloksiin.

Sivun alkuun

Liitostyypit

Liitoksia on neljää perustyyppiä: sisäliitokset, ulkoliitokset, ristitulot ja vertailuliitokset. Ristiliitokset ja vertailuliitokset ovat kehittyneitä liitostyyppejä, joita käytetään harvoin, mutta niiden tunteminen auttaa ymmärtämään liitosten toimintaa.

Sisäliitokset: vain liittyvät tiedot molemmista taulukoista yhdistetään

Sisäliitoksessa Access käyttää vain taulukon tietoja, jos liittyvässä taulukossa on vastaavat tiedot ja päinvastoin. Sisäliitos on yleisin liitostyyppi. Kun luot liitoksen etkä määritä liitoksen tyyppiä, Access olettaa, että haluat sisäliitoksen. Sisäliitokset on hyödyllisiä, koska niiden avulla voit yhdistää kahden lähteen tiedot jaettujen arvojen perusteella, jotta näet kokonaiskuvan tiedoista.

Ulkoliitokset: kaikki liittyvät tiedot yhdistetään oikein, samoin kaikki yhden taulukon jäljellä olevat tietueet

Ulkoliitos on kuin sisäliitos, mutta se näyttää myös loput rivit toisesta taulukosta. Ulkoliitokset ovat suunnallisia: vasen ulkoliitos sisältää kaikki tietueet liitoksen ensimmäisestä, vasemmanpuoleisesta taulukosta ja oikea ulkoliitos sisältää kaikki tietueet liitoksen toisesta, oikeanpuoleisesta taulukosta.

Täysi ulkoliitos: kaikki tiedot yhdistettynä, jos mahdollista

Joissakin järjestelmissä, ulkoliitos voi sisältää kaikki rivit molemmista taulukoista, kun vastaavat rivit yhdistetään. Tätä kutsutaan täydeksi ulkoliitokseksi, eikä Access nimenomaisesti tue niitä. Voit kuitenkin saada aikaan saman tuloksen käyttämällä ristiliitosta ja ehtoja.

Ristiliitokset: kaikki tiedot yhdistetty kaikilla mahdollisilla tavoilla

Useimmiten ristiliitos on seurausta kahden taulukon lisäämisestä kyselyyn ja unohduksesta liittää ne. Access tulkitsee, että haluat nähdä jokaisen tietueen yhdestä taulukosta yhdistettynä toisen taulukon jokaisen tietueen kanssa, eli kaikki mahdolliset tietueyhdistelmät. Koska tietoja ei voida yhdistää, tämänkaltainen liitos harvoin tuottaa hyödyllisiä tuloksia. Ristiliitos on kuitenkin hyödyllinen muutamissa tapauksissa.

Vertailuliitokset: kuin tavallinen liitos, mutta se käyttää erilaista vertailua rivien yhdistämiseen

Vertailuliitokset käyttävät muuta operaattoria kuin yhtäläisyysmerkkiä (=) arvojen vertailuun ja määrittämään, miten tiedot yhdistetään. Vertailuliitoksia ei nimenomaisesti tueta, mutta voit käyttää ristiliitoksia ja ehtoja saman tuloksen saamiseksi.

Näytä rivit, joissa esiintyvän arvon olemassa sekä yhdistetyt taulukot

Jos haluat näyttää vain ne rivit, joiden arvot vastaavat toisiaan liitoskentässä, voit käyttää sisäliitosta. Access luo sisäliitokset automaattisesti.

Sisäliitokset ovat yleisimmät Liitostyypin. Ne kertovat kyselylle, että rivit yhden liitetyn taulukon rivit toisesta taulukosta, liitettyjen kenttien tietojen perusteella vastaavat. Kysely, jossa on sisäliitos suoritettaessa vain ne rivit, joissa esiintyvän arvon olemassa sekä yhdistetyt taulukot sisältyvät kyselyn toiminnot.

Kuinka sisäliitosta käytetään?

Useimmiten sisäliitoksen käyttöä varten ei tarvitse tehdä mitään erityistä. Jos kyselyyn liitettävillä taulukoilla on jo yhteyksiä, Access luo automaattisesti sisäliitoksen kummankin liittyvän taulukkoparin välille, kun lisäät taulukot. Jos viite-eheys on määritetty säilytettäväksi, liitosviivan yläpuolella näkyy myös numero "1", joka osoittaa, mikä taulukko on yksi-moneen-yhteys "yksi"-puolella, ja äärettömän symboli (), joka osoittaa, mikä taulukko on "monta"-puolella.

Vaikka et ole luonut suhteita, Access luo Sisäliitokset automaattisesti, jos kahden taulukon lisääminen kyselyyn ja kummassakin taulukossa on kenttä, jonka samat tai yhteensopivat tietotyyppi ja jokin seuraavista kentistä on perusavain. ”Yksi” ja ”monta”-symbolit eivät näy tässä tapauksessa koska viite-eheys ei säilytetä.

Jos kyselyjen lisääminen kyselyyn ja ole luonut suhteita näiden kyselyjen, Access luo Sisäliitokset näiden kyselyjen tai kyselyjen ja taulukoiden välille automaattisesti. Yleensä kannattaa luoda niitä itse. Voit luoda sisäliitoksen vetämällä kentän yksi tietolähde toisen tietolähteen kentän. Access näyttää kaksi kenttää näyttämään liitoksen luotu välillä oleva viiva.

Sisäliitoksen SQL-syntaksi

SQL:ssä sisäliitokset määritetään FROM-lauseessa seuraavan esimerkin mukaan:

FROM Taulukko1 INNER JOIN taulukko2Taulukko1. kenttä1 verrata taulukko2. kenttä2

INNER JOIN -toiminnossa on seuraavat osat:

Osa

Kuvaus

taulukko1, taulukko2

Niiden taulukkojen nimet, joista tietueet yhdistetään.

kenttä1, kenttä2

Yhdistettävien kenttien nimet. Jos ne eivät ole numeerisia, kenttien täytyy olla samaa tietotyyppi ja sisältää samantyyppisiä tietoja, mutta niiden ei tarvitse olla samannimisiä.

vertailu

Jokin seuraavista relaatiovertailuoperaattoreista: "=", "<", ">", "<=", ">=," tai "<>."

Lisätietoja sisäliitoksen syntaksista on kohdassa INNER JOIN -toiminto.

Sivun alkuun

Kaikkien rivien näyttäminen yhdestä taulukosta ja niitä vastaavien rivien näyttäminen toisesta taulukosta

Ulkoliitokset kertovat kyselyn, vaikka jotkin liitoksen molemmilla puolilla rivien vastaavat täsmälleen, kysely sisältää kaikki rivit yhdestä taulukosta ja näiden rivien näyttäminen toisesta taulukosta, joilla on yhteinen arvo liitoksen molemmilla puolilla.

Ulkoliitokset voivat olla vasemman- tai oikeanpuoleisia ulkoliitoksia. Vasemmanpuoleisessa ulkoliitoksessa kysely sisältää kaikki SQL-lauseen FROM-lauseen ensimmäisen taulukon rivit ja vain ne muun taulukon rivit, joissa liittävä kenttä sisältää arvoja, jotka ovat yhteisiä kummassakin taulukossa. Oikeanpuoleisessa ulkoliitoksessa kysely sisältää kaikki SQL-lauseen FROM-lauseen toisen taulukon rivit ja vain ne muun taulukon rivit, joissa liittävä kenttä sisältää arvoja, jotka ovat yhteisiä kummassakin taulukossa.

Huomautus: Näet helposti, mikä taulukko on vasemmalla puolella oleva taulukko tai oikealla puolella oleva taulukko tietyn liitoksen kaksoisnapsauttamalla liitosta ja esittää sitten Liitoksen ominaisuudet -valintaikkunassa. Voit myös siirtyä SQL-näkymä ja tarkista FROM-lauseessa.

Koska joillakin ulkoliitoksen toisella puolella olevilla riveillä ei ole vastaavia rivejä toisessa taulukossa, jotkin toisesta taulukosta palautetut kyselytulokset ovat tyhjiä silloin, kun rivit eivät vastaa toisiaan.

Kuinka ulkoliitosta käytetään?

Voit luoda ulkoliitoksen muokkaamalla aiemmin luotua sisäliitosta. Jos sisäliitosta ei ole luotu, luo sellainen ja tee siitä sitten ulkoliitos.

Sisäliitoksen muuttaminen ulkoliitokseksi

  1. Kaksoisnapsauta kyselyn rakennenäkymässä liitosta, jota haluat muuttaa.

    Näyttöön tulee Liitoksen ominaisuudet -valintaikkuna.

  2. Pane merkille Liitoksen ominaisuudet -valintaikkunan vaihtoehtojen 2 ja 3 vieressä olevat valinnat.

  3. Napsauta vaihtoehtoa, jota haluat käyttää, ja valitse sitten OK.

  4. Liitos tulee näyttöön, ja siinä näkyy nuoli, joka osoittaa siitä tietolähteestä, jonka kaikki rivit sisällytetään tuloksiin, siihen tietolähteeseen, josta sisällytetään tuloksiin vain ne rivit, jotka täyttävät liitosehdon.

Monitulkintaiset ulkoliitokset

Jos luot kyselyn, joka sisältää LEFT JOIN- ja SISÄLIITOS, Access ei ehkä pysty selvittäminen liity toimintoa suoritetaan ensin. Koska tulokset ovat erilaiset riippuen siitä, onko vasen arvoja tai sisäliitoksen suoritetaan ensin, näyttöön tulee virhesanoma:

Voit korjata tämän virheen, muokkaat kyselyä niin, että siitä selviää, kumpi liitos suoritetaan ensin.

Ulkoliitoksen SQL-syntaksi

SQL:ssä ulkoliitokset määritetään FROM-lauseessa seuraavan esimerkin mukaan:

FROM Taulukko1 [vasemmalle | OIKEA] JOIN taulukko2
- Taulukko1.kenttä1 vertailu taulukko2.kenttä2

LEFT JOIN- ja RIGHT JOIN -toiminnoissa on seuraavat osat:

Osa

Kuvaus

taulukko1, taulukko2

Niiden taulukkojen nimet, joista tietueet yhdistetään.

kenttä1, kenttä2

Yhdistettävien kenttien nimet. Kenttien täytyy olla samaa tietotyyppi ja sisältää samantyyppisiä tietoja, mutta niiden ei tarvitse olla samannimisiä.

vertailu

Jokin seuraavista relaatiovertailuoperaattoreista: "=", "<", ">", "<=", ">=," tai "<>."

Lisätietoja ulkoliitoksen syntaksista on kohdassa LEFT JOIN- ja RIGHT JOIN -toiminnot.

Sivun alkuun

Molempien taulukoiden kaikkien rivien näyttäminen ja liittyä, jos on olemassa esiintyvän arvon.

Kun haluat näyttää kahden taulukon kaikkien rivien ja liittyä niihin yleisiä arvojen perusteella, käytä täyden ulkoliitoksen. Access ei tue Täydet ulkoliitokset erikseen, mutta voit toteuttaa saman tuloksen yhdistämiskyselyn avulla. Seuraavassa kerrotaan, miten voit tehdä sen, mutta jos haluat lisätietoja yhdistämiskyselyistä, on Katso myös -osassa.

Yhdistämiskyselyn avulla voit suorittaa täyden ulkoliitoksen seuraavasti:

  1. Luo kysely, jossa on vasen ulkoliitos täydessä ulkoliitoksessa käytettävässä kentässä.

  2. Valitse Aloitus-välilehden Näkymät-ryhmästä Näytä ja valitse sitten SQL-näkymä.

  3. Paina näppäinyhdistelmää CTRL + C kopioi SQL-koodi.

  4. Poista puolipiste FROM-lauseen loppuun ja paina sitten ENTER-näppäintä.

  5. Kirjoita UNION ja paina sitten Enteriä.

    Huomautus: Älä käytä ALL-avainsanaa, kun suoritat täyden ulkoliitoksen yhdistämiskyselyllä.

  6. Paina CTRL + V Liitä vaiheessa 3 kopioimasi SQL-koodi.

  7. Muuta liittämässäsi koodissa LEFT JOIN -määritteen tilalle RIGHT JOIN.

  8. Poista puolipiste toisen FROM-lauseen ja paina sitten ENTER-näppäintä lopussa.

  9. Lisää WHERE-lause, joka määrittää, että FROM-lauseen ensimmäiseen taulukkoon (vasempaan taulukkoon) sisältyvän liitoskentän arvo on NULL.

    Jos esimerkiksi FROM-lause on

    FROM Products RIGHT JOIN [Order Details] 
    ON Products.ID = [Order Details].[Product ID]

    Lisää WHERE-lauseen:

    WHERE Products.ID IS NULL

  10. Kirjoita WHERE-lauseen loppuun puolipiste (;) sen merkiksi, että yhdistämiskysely päättyy siihen.

  11. Valitse Rakenne-välilehden Tulokset-ryhmästä Suorita.

Ristiliitokset

Cross liitokset poikkeavat sisä- ja ulkoliitoksista siten, että niitä ole nimenomaisesti edustaa Access. Yhdistetään ristituloa, kullekin riville yhden taulukon kunkin rivin toisesta taulukosta, tuloksena on nimeltään, tulo tai karteesinen tulo. Kun suoritat kyselyn, jossa on taulukoita, joita ei ole liitetty erikseen, ristitulon tulos on tulos. On ristitulo, mutta on tapauksia, joissa ne voivat olla hyödyllisiä.

Milloin ristituloa kannattaa käyttää?

Jos haluat tarkistaa kaikki mahdolliset yhdistelmät rivien välissä kaksi taulukkoa tai kyselyä, käytä ristituloa. Oletetaan, että yritykselläsi on ollut erinomainen vuosi ja harkitset hyvitykset antaminen asiakkaillesi. Voit Luo kysely, joka laskee yhteen kunkin asiakkaan ostot, luo pienen taulukon, jossa on useita mahdollisia ostohyvitysprosentteja ja yhdistää kaksi toisessa kyselyssä, joka suorittaa ristitulon. Lopetat kysely, joka näyttää joukon hypoteettista hyvitykset kunkin asiakkaan kanssa.

Kuinka ristituloa käytetään?

Ristituloa on valmistettu tahansa käyttää taulukoita tai kyselyjä kyselyssä ja et luo eksplisiittinen vähintään yksi liittymisen kunkin taulukon tai kyselyn. Access yhdistää jokaisen rivin kutakin taulukkoa tai kyselyä, joka ei ole nimenomaisesti liitetty taulukko tai kysely, joka toinen rivi tuloksissa. Harkitse hyvityksen skenaarion edellisen kohdan. Oletetaan, että sinulla on 91 asiakasta ja haluat tarkastella viisi mahdollista hyvityksen prosenttiosuudet. Ristitulo tuottaa 455 riviä (tuote 91 ja 5).

Kuten arvata saattaa, ristituloja voit luoda kyselytulosten erittäin suuri rivien määrän. Lisäksi tulokset ovat yleensä ole järkevää, koska ei todella haluat yhdistää jokaisen rivi, jonka joka toinen rivi, jos yhdistetyn rivit, jotka tulevat näkyviin tuloksissa useimmat ei tee mielessä. Lopuksi ristituloja käyttävien kyselyjen voi kestää kauan suorittamiseen.

Tahaton ristiliitos kyselyn rakennenäkymässä
Tahaton ristitulo kyselyn rakennenäkymässä.

1. ympyröity kentät on liitetty toisiinsa.

Tahaton ristitulo
Ristitulon palauttama ristitulon yläpuolella.

1. Huomautus erittäin paljon tietueita.

Korjattu kyselyn tulos
Tulokset, kun oikea liitos on luotu.

1. Huomaa, että tietueiden määrän on paljon pienempiä.

Sivun alkuun

Taulukoiden, kenttien arvojen erisuuruuden perusteella

Liitosten ei tarvitse perustua liitettyjen kenttien samanarvoisuuteen. Liitos voi perustua mihin tahansa vertailuoperaattoriin, kuten suurempi kuin -operaattoriin (>), pienempi kuin -operaattoriin (<) tai eri suuri kuin -operaattoriin (<>). Liitoksia, jotka eivät perustu samanarvoisuuteen, kutsutaan vertailuliitoksiksi.

Jos haluat yhdistää tietojen kahden lähteen rivit niiden kenttien arvojen perusteella, jotka eivät ole yhtä suuria, käytä vertailuliitosta. Yleensä vertailuliitokset perustuvat vertailuoperaattoreihin suurempi kuin (>), pienempi kuin (<), suurempi tai yhtä suuri kuin (>=) tai pienempi tai yhtä suuri kuin (<=). Vertailuliitokset, jotka perustuvat eri suuri kuin -operaattoriin (<>), voivat palauttaa lähes yhtä monta riviä kuin ristitulot, ja tuloksia voi olla vaikea tulkita.

Kuinka vertailuliitosta käytetään?

Vertailuliitokset ei tueta rakennenäkymässä. Jos haluat käyttää niitä, toimi näin käyttämällä SQL-näkymä. Voit kuitenkin liitoksen luominen rakennenäkymässä, siirry SQL-näkymä, Etsi yhtä (=) ja vaihtaa sen operaattori, jota haluat käyttää. Kun teet näin, voit vain avata kyselyn rakennenäkymässä uudelleen Jos vaihdat vertailuoperaattori takaisin SQL-näkymässä (=).

Liitoksen poistaminen

Jos Access luo automaattisesti liitoksen, jota et halua, tai jos luot liitoksen vahingossa ( esimerkiksi teet liitoksen kahden sellaisen kentän välille, joiden tietotyyppi ei ole sama), voit poistaa liitoksen.

  1. Napsauta kyselyn rakenneruudukossa liitosta, jonka haluat poistaa.

  2. Paina DELETE-näppäintä.

-tai-

  • Napsauta kyselyn rakenneruudukossa hiiren kakkospainikkeella liitosta, jonka haluat poistaa, ja valitse sitten Poista.

Sivun alkuun

Katso myös

Tietueiden lisääminen taulukkoon liittämiskyselyn avulla

Yhdistää useita tuloksia hakukyselyjä yhdistämiskyselyn avulla

Luominen useiden taulukoiden perustuva kysely

Luominen, muokkaaminen tai yhteyden poistaminen

Kehitä Office-taitojasi
Tutustu koulutusmateriaaliin
Saat uudet ominaisuudet ensimmäisten joukossa
Liity Office Insider -käyttäjiin

Oliko näistä tiedoista hyötyä?

Kiitos palautteesta!

Kiitos palautteestasi! Näyttää siltä, että Office-tukiedustajamme avusta voi olla sinulle hyötyä.

×