Taulukoiden ja kyselyjen liittäminen

Taulukoiden ja kyselyjen liittäminen

Tärkeää: Tämä on artikkeli on käännetty koneellisesti. Lue vastuuvapauslauseke. Tämän artikkelin englanninkielinen versio on täällä .

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.

Tämän artikkelin sisältö

Yleiskatsaus

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

Yleiskatsaus

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 kyselyn ehdot, sillä ne määrittävät sääntöjä, joiden mukaan tietojen on täsmättävä, jotta ne sisällytettäisiin kyselytoimintoihin. Toisin kuin ehdot, liitokset määrittävät, että jokainen liitoksen ehdot täyttävä rivien pari yhdistetään tietuejoukossa siten, että ne muodostavat yhden rivin.

Liitoksia on neljää perustyyppiä: sisäliitokset, ulkoliitokset, ristitulot ja vertailuliitokset. Tässä artikkelissa perehdytään jokaiseen liitostyyppiin, jota voidaan käyttää, selitetään, miksi kutakin tyyppiä käytetään, ja kerrotaan, kuinka liitoksia luodaan.

Sivun alkuun

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 yleisin liitostyyppi. Ne kertovat kyselylle, että yhden liitetyn taulukon rivit vastaavat toisen taulukon rivejä liitettyjen kenttien tietojen perusteella. Kun sisäliitoksen sisältävä kysely suoritetaan, vain ne rivit, joilla on yhteisiä arvoja kummassakin liitetyssä taulukossa, sisällytetään kyselytoimintoihin.

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 olisi luonut yhteyksiä, Access luo automaattisesti sisäliitoksia, jos lisäät kyselyyn kaksi taulukkoa, joissa kummassakin on kenttä, jonka tietotyyppi on sama tai yhteensopiva, ja jokin liitoskentistä on perusavain. Koska viite-eheyttä ei ole määritetty säilytettäväksi, yhteyden "yksi"- ja "monta"-puolen ilmaisevia symboleja ei näytetä.

Jos lisäät kyselyyn kyselyjä etkä ole luonut niiden välille yhteyksiä, Access ei luo automaattisesti sisäliitoksia näiden kyselyjen tai kyselyjen ja taulukoiden välille. Yleensä sinun pitäisi luoda ne itse. Voit luoda sisäliitoksen vetämällä kentän yhdestä tietolähteestä toisen tietolähteen kenttään. Kahden kentän välillä näkyy viiva, joka osoittaa, että liitos on luotu.

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 kyselylle, että vaikka jotkin liitoksen molemmilla puolilla olevat rivit vastaavat toisiaan täsmälleen, kyselyn pitäisi sisällyttää tuloksiin kaikki yhden taulukon rivit ja ne toisen taulukon rivit, 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: Kaksoisnapsauttamalla liitosta ja tutkimalla Liitoksen ominaisuudet -valintaikkunaa saat helposti selville, kumpi taulukko on tietyn liitoksen vasen tai oikea taulukko. Voit myös siirtyä SQL-näkymään ja tutkia FROM-lausetta.

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. Valitse käytettävä vaihtoehto 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 kuvattu artikkelissa 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.

Täyden ulkoliitoksen tekeminen yhdistämiskyselyllä:

  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. Kopioi SQL-koodi CTRL+C-näppäinyhdistelmällä.

  4. Poista puolipiste FROM-lauseen lopusta 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. Liitä vaiheessa 3 kopioimasi SQL-koodi CTRL+V-näppäinyhdistelmällä.

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

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

  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]

    voit lisätä 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.

Ristitulot

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 tutkia kaikki mahdolliset kahden taulukon tai kyselyn välisten rivien yhdistelmät, käytä ristituloa. Oletetaan esimerkiksi, että yritykselläsi on ollut erinomainen vuosi ja harkitset ostohyvitysten antamista asiakkaille. Voit muodostaa kyselyn, joka laskee yhteen jokaisen asiakkaan ostot, luo pienen taulukon, jossa on useita mahdollisia ostohyvitysprosentteja, ja yhdistää nämä kaksi toiseen kyselyyn, joka suorittaa ristitulon. Tuloksena on kysely, joka näyttää joukon hypoteettisia ostohyvityksiä jokaista asiakasta varten.

Kuinka ristituloa käytetään?

Ristitulo on tuloksena aina, kun sisällytät kyselyyn taulukoita tai kyselyjä, mutta et luo ainakin yhtä nimenomaista liitosta kutakin taulukkoa tai kyselyä varten. Access yhdistää jokaisen taulukon tai kyselyn jokaisen rivin, jota ei ole nimenomaisesti liitetty mihinkään muuhun taulukkoon tai kyselyyn tuloksissa. Palataan edellä esitettyyn ostohyvitystapaukseen. Oletetaan, että sinulla on 91 asiakasta ja että haluat tarkastella viittä mahdollista ostohyvitysprosenttia. Ristitulo tuottaa 455 riviä (91:n ja 5:n tulo).

Kuten arvata saattaa, tahattomat ristitulot voivat luoda valtavan määrän rivejä kyselyn tuloksiin. Lisäksi tulokset ovat yleensä merkityksettömiä, koska jos jokaista riviä ei yhdistetä tarkoituksella jokaiseen toiseen riviin, useimmissa tuloksissa näkyvissä riveissä ei ole järkeä. Tahattomia ristituloja käyttävien kyselyjen suoritus saattaa myös kestää hyvin kauan.

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

1. Ympäröidyt kentät pitäisi liittää toisiinsa.

Tahattoman ristitulon tulos
Ristitulon palauttama ristitulon yläpuolella.

1. Huomaa tietueiden suuri määrä.

Korjattu kyselyn tulos
Tulokset, kun oikea liitos on luotu.

1. Huomaa, että tietueiden määrä 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?

Vertailuliitoksia ei tueta rakennenäkymässä. Jos haluat käyttää niitä, käytä SQL-näkymää. Voit kuitenkin luoda liitoksen rakennenäkymässä, siirtyä SQL-näkymään, etsiä yhtä suuri kuin -vertailuoperaattorin (=) ja vaihtaa sen operaattoriksi, jota haluat käyttää. Sen jälkeen voit avata kyselyn uudelleen rakennenäkymään vain, jos vaihdat sitä ennen vertailuoperaattorin takaisin yhtä suuri kuin -operaattoriksi (=) 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 DEL-näppäintä.

TAI

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

Sivun alkuun

Huomautus: Konekäännöksestä ilmoittava vastuusvapauslauseke: Tämä artikkeli on käännetty tietokonejärjestelmällä, eikä kieliasiantuntija ole muokannut sitä. Microsoft tarjoaa nämä konekäännökset avuksi muille kuin englantia puhuville käyttäjille, jotta he saavat lisätietoja Microsoftin tuotteista, palveluista ja tekniikoista. Koska artikkeli on koneellisesti käännetty, se saattaa sisältää sanasto-, lauseoppi- ja kielioppivirheitä.

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ä 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ä.

×