Kyselyn tietolähteiden liittäminen

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

Kun käytät useita eri tietolähteitä kyselyssä, voit rajoittaa näytettäviä tietueita liitosten avulla sen mukaan, miten tietolähteet liittyvät toisiinsa. Liitosten avulla voit myös yhdistää tietueet molemmista tietolähteistä niin, että jokaisesta lähteiden tietueparista tulee yksi tietue kyselyn tuloksiin.

Tässä artikkelissa käsitellään erilaisia liitokset ja näytetään, miten niitä käytetään kyselyssä.

Huomautus: Tässä artikkelissa termin taulukon käytetään tarkoittaa tietolähteeseen. Voit käyttää kyselyn liitoksen samalla tavalla kuin taulukon.

Yleistä

Sisäliitos: Sellaisten rivien näyttäminen, joilla on yhteinen arvo molemmissa liitetyissä taulukoissa

Vasen tai oikea ulkoliitos: Kaikkien rivien näyttäminen yhdestä taulukosta ja niitä vastaavien rivien näyttäminen toisesta taulukosta

Täysi ulkoliitos: Kaikkien rivien näyttäminen kummastakin taulukosta ja niiden yhdistäminen, jos yhteinen arvo on olemassa

Ristiliitos: Kaikki mahdolliset rivien yhdistelmät

Vertailuliitos: Tietueiden yhdistäminen kenttien arvojen erisuuruuden perusteella

Liitoksen poistaminen

Yleistä

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.

Jotkin liitokset luodaan automaattisesti

Useissa tapauksissa sinun ei tarvitse huolehtia liitoksista. Jos kyselyyn liitettävillä taulukoilla on jo yhteys, Access luo sisäliitoksen joka peilaa yhteyttä. Useimmiten tämä on hyvä tapa varmistaa, että kahdesta taulukosta saadut tiedot on yhdistetty oikein niin, että vain kunkin taulukon oikeat tiedot sisällytetään tulokseen. Joissakin tapauksissa saatat haluta, että liitos sisällyttää enemmän tietoja.

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.

Sivun alkuun

Sisäliitos: Sellaisten rivien näyttäminen, joilla on yhteinen arvo molemmissa liitetyissä taulukoissa

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?

Jos haluat luoda sisäliitoksen, vedä kenttä yhdestä tietolähteestä toisen tietolähteen kenttään kyselyn rakenneruudukossa. Access liittää kaksi taulukkoa kentissä ja näyttää viivan niiden välillä.

Automaattiset sisäliitokset

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ä ne kannattaa luoda itse (vetämällä kentän yhdestä tietolähteestä toisen tietolähteen kenttään). Muuten tuloksena voi olla ristiliitos, ja tulokset voivat olla harhaanjohtavia.

Sisäliitoksen SQL-syntaksi

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

FROM taulukko1 INNER JOIN taulukko2 ON taulukko1.kenttä1vertailuoper 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ä.

vertailuoperaattori

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

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

Sivun alkuun

Vasen tai oikea ulkoliitos: 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 (tiedot yhdistetään, kun molemmat taulukot sisältävät rivin).

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 tutkimalla Liitoksen ominaisuudet -valintaikkunassa. Tai SQL-näkymässä voit tutkia, liity lisätietoja 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.

    Tulee Liitoksen ominaisuudet -valintaikkuna.

  2. Valitse Liitoksen ominaisuudet -valintaikkuna, muistiinpano-vaihtoehdon vieressä olevat valinnat vaihtoehtojen 2 ja 3.

  3. Valitse ja valitse sitten haluamasi vaihtoehto 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 INNER JOIN -ominaisuudet, Access ei ehkä voi tunnistaa, mikä liitostoiminto suoritetaan ensin. Koska tulokset poikkeavat sen mukaan, suoritetaanko vasen liitos vai sisäliitos ensin, Access näyttää monitulkintaista ulkoliitosta koskevan virheilmoituksen.

Voit korjata virheen muuttamalla kyselyä niin, että siitä selviää, kumpi liitos suoritetaan ensin.

Ulkoliitokset ja kyselyjen päivitettävyys

Access-sovelluksissa usean taulukon kyselyn kenttä on päivitettävissä vain, jos seuraavat ehdot toteutuvat:

  • Kenttä on kyselyn "useimmat-monta"-taulukosta eli siitä, joka hakee tietoja toisesta taulukosta.

  • Kyselyn tulos sisältää perusavaimen"useimmat-monta"-taulukosta.

  • Jos "useimmat-monta"-taulukko on osa ulkoliitosta, se on liitoksen sisäpuolella: vasemman ulkoliitoksen vasen taulukko tai oikean ulkoliitoksen oikea taulukko.

Jos jokin ehdoista ei täyty, kenttä näkyy vain luku -tilassa joko kyselyn taulukkonäkymässä tai kyselyyn perustuvassa näkymässä.

Ulkoliitoksen SQL-syntaksi

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

FROM taulukko1 [ LEFT | RIGHT ] JOIN taulukko2
ON taulukko1.kenttä1vertailuoper 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ä.

vertailuoperaattori

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

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

Sivun alkuun

Täysi ulkoliitos: Kaikkien rivien näyttäminen kummastakin taulukosta ja niiden yhdistäminen, jos yhteinen arvo on olemassa

Kun haluat näyttää kaikki rivit kahdesta taulukosta ja liittää ne yhteisten arvojen perusteella, käytä täyttä ulkoliitosta. Access ei nimenomaisesti tue täysiä ulkoliitoksia, mutta voit saada saman tuloksen ristiliitoksen ja ehtojen avulla.

  1. Luo kysely ja lisää kaksi taulukkoa. Jos Access luo liitoksia, poista ne.

  2. Lisää kentät, jotka haluat kyselyn tulostukseen.

  3. Lisää molempien taulukoiden liitoskentät ja poista niiden Näytä-rivin valintaruudun valinta.

  4. Kirjoita kyselyn rakenneruudukossa toisen taulukon liitoskenttä Ehdot-riville ensimmäisen taulukon liitoskentän alapuolelle. Jos liitoskentillä on sama kenttänimi, muista sisällyttää taulukon nimi, kun viittaat niihin.

  5. Kirjoita edellä kuvan ehdon alapuolella olevalle Tai-riville Is Null.

  6. Kirjoita seuraavalla Tai-riville (ensimmäisen alapuolella) toisen taulukon liitoskentän alapuolelle Is Null.

Kysely palauttaa yhdistetyn joukon:

  • Rivit, joissa liitetyt kenttäarvot vastaavat toisiaan, tiedot yhdistetään vastaavasti (sisäliitos)

  • Rivit, joiden ensimmäisen taulukon liitoskentässä ei ole arvoa (vasemman ulkoliitoksen ulkopuoli)

  • Rivit, joiden toisen taulukon liitoskentässä ei ole arvoa (oikean ulkoliitoksen ulkopuoli)

Sivun alkuun

Ristiliitos: Kaikki mahdolliset rivien yhdistelmät

Aina kun sisällytät taulukoita kyselyyn, mutta et liitä niitä, tapahtuu ristiliitos. Access yhdistää molempien taulukoiden jokaisen rivin, jolloin tuloksena on niin sanottu ristitulo tai karteesinen tulo. Yleensä ristitulot ovat tahattomia, mutta niistä voi olla hyötyä hypoteettisten tulosten tutkimisessa.

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ä 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. Ristitulo näyttää joukon hypoteettisia ostohyvityksiä jokaista asiakasta varten.

Kuinka ristituloa käytetään?

Lisää kaksi taulukkoa kyselyyn, älä luo liitosta niiden välille ja sisällytä molempien taulukoiden kentät kyselyn tulokseen. Access yhdistää kunkin taulukon tai kyselyn jokaisen rivin, jota ei ole nimenomaisesti liitetty muuhun taulukkoon tai kyselyyn, kuhunkin muuhun riviin kyselyn 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).

Jos lisättävät taulukot liittyvät toisiinsa, Access luo sisäliitoksen automaattisesti. Voit poistaa tämän automaattinen liitoksen tarvittaessa, jolloin tuloksena on ristitulo.

Kuten arvata saattaa, tahattomat ristitulot voivat luoda valtavan määrän rivejä kyselyn tuloksiin. Lisäksi tällaiset tulokset ovat yleensä merkityksettömiä, koska rivejä ei ole yhdistetty jaettujen tietojen perusteella eivätkä yhdistelmät vastaa mitään.

Sivun alkuun

Vertailuliitos: Tietueiden yhdistäminen 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?

Access ei tue vertailuliitoksia rakennenäkymässä, mutta voit toteuttaa saman tuloksen ristiliitoksella ja ehdoilla:

  1. Luo kysely ja lisää kaksi taulukkoa vertailuliitosta varten. Jos Access luo automaattisesti liitoksia, poista ne.

  2. Lisää haluamasi tuloskentät.

  3. Lisää liitoskenttä ensimmäisestä taulukosta ja poista valinta Näytä-rivin valintaruudusta.

  4. Kirjoita Ehdot-riville käytettävä erisuuruusoperaattori ja sen jälkeen toisen taulukon liitoskenttä.

Kysely palauttaa rivit yhdistäen tiedot kahdesta taulukosta määritetyn erisuuruuden perusteella.

Sivun alkuun

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

-tai-

  • Napsauta hiiren kakkospainikkeella kyselyn rakenneruudukon haluat poistaa, ja valitse sitten liity poistaminen.

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

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

×