Tabelite ja päringute ühendamine

Tabelite ja päringute ühendamine

Märkus.: Soovime pakkuda teie keeles kõige ajakohasemat spikrisisu niipea kui võimalik. See leht on tõlgitud automaatselt ja sellel võib leiduda grammatikavigu või ebatäpsusi. Tahame, et sellest sisust oleks teile abi. Palun märkige selle lehe allservas, kas sellest teabest oli teile kasu või mitte. Soovi korral saab ingliskeelset artiklit lugeda siit.

Mitmest andmeallikast kaasamine Accessi päringu kasutate ühenduste kirjeid, mida soovite näha, kuidas andmeallikad on omavahel seotud alusel piirata. Saate kasutada ka ühenduste mõlema andmeallika kirjeid nii, et iga paari allikad kirjeid saab päringutulemites üks kirje.

Selles artiklis käsitletakse erinevaid ühendusetüüpe ja näidatakse, kuidas neid päringus kasutada. Vaikimisi ühendus luuakse automaatselt kui kasutate päringus kahe andmeallikate vahelise on juba seose. Ühenduse luuakse ka siis, kui seal on väljad selgelt üksteisele vastavad. Saate kustutada ka automaatselt loodud ühendus. Selles artiklis on toodud põhiteavet Tabeliseoste, sh loomist.

Märkus.: Saate liituda päringute tabelite ühendamine ja saate liituda ka mõlemad samal viisil.

Selle artikli teemad

Ülevaade

Ühenduste tüübid

Ridade kuvamine ühendatud tabelite ühise väärtuse korral

Ühe tabeli kõigi ridade ja teise tabeli vastavate ridade kuvamine

Mõlema tabeli kõigi ridade kuvamine ja nendega liituda, kus ühise väärtuse korral

Ristühendused

Väljaväärtuste ebavõrdsuse põhjal tabelite ühendamine

Ühenduse kustutamine

Ülevaade

Andmebaasi on andmeid, mis olema üksteisega loogilised seosed tabelite kogum. Ühendage tabelid, väljad, mida nad on ühist seoste abil. Tabel võib olla mis tahes arv seosed osa, kuid iga seos on alati täpselt kaks tabelit. Päringu, esindab seose ühenduse.

Tabelite lisamine päringu Access loob ühendused, mis põhinevad määratletud tabelite vahelised seosed. Võite käsitsi luua ühendused päringute, isegi siis, kui nad esindavad seosed, mis on juba määratud. Kui kasutate päringu andmeallikad muude päringute (asemel või lisaks tabelid), saate luua ühendused allika päringud ja ka need päringud ja mis tahes andmete allikana kasutatav tabelite vahel.

Ühenduste käituvad sarnaselt Päringukriteeriumide, et nad loovad reeglid, millele andmed peavad vastama kaasatavate päringu toiminguid. Erinevalt kriteeriumidest ühenduste määrata, et iga paari ridu, mis vastavad tingimustele Liitu ühendatakse kirjekomplekti koondumist ühe rea.

On nelja tüüpi ühendusi: sisemised ühendused, välised ühendused, ristühendused ja ebavõrdseid ühendusi. See artikkel uurib iga tüüp, mida saate kasutada, miks te kasutate iga ja kuidas ühendusi luua.

Ühenduste on päringuid, mis on seosed tabelite: märge selle kohta, kuidas saab kombineerida kahe allika andmete põhjal ühist andmeväärtusi. Siin on näide ühenduse päringu kujundusvaates, koos dialoogiboksi avamine ühenduse atribuudid:

Dialoogiboks Ühenduse atribuudid

Tabelite vahel Real tähistab ühendust. Ühenduse avamiseks topeltklõpsake soovitud Ühenduse atribuudid dialoogiboksi (kujutatud) ja vaadake üle või muutke ühendust.

Ühenduste on mõnikord suunamata. Selles jaotises dialoogiboksi näete, milline tabel on mis ühendust ja millised väljad kasutatakse tabelid.

Selles jaotises määratleb Liitmistüüp: sisemine ühendus on võimalus 1, 2 on vasakpoolne väline ühendamine ja 3 on parempoolne väline ühendamine.

Saab kasutada mõlema tabeli väljad ja saab antud tööülesande seotud andmed kuvatakse iga. Sisemine ühendus, pole muid andmeid, on lisatud. Välise ühenduse, kuuluvad ka Päringu tulemites. seoseta kirjeid ühest tabelist.

Lehe algusse

Ühenduste tüübid

On nelja tüüpi ühendusi: sisemised ühendused, välised ühendused, ristühendused ja ebavõrdseid ühendusi. Rist ühendab ja ebavõrdseid ühendusi on täiustatud Liitu ja kasutatakse harva, kuid peaks teadma nende täielik mõista, kuidas ühendused tööd.

Sisemised ühendused: ainult mõlema tabeli ühendatud seotud andmed

Sisemine ühendus on üks, kus juurdepääsu sisaldab ainult tabeli andmeid kui on seotud tabelis vastavaid andmeid ja vastupidi. Enamikul juhtudel, kasutage sisemised ühendused. Ühenduse loomisel ning ei määrata, millist Liitu on, juurdepääs eeldab, et soovite sisemiseks. Sisemised ühendused on kasulik, kuna need võimaldavad teil kahe allikate põhjal väärtustes – nii, et näete ainult andmeid, kui seal on lõpule viidud pilt pärinevate andmete kombineerimine.

Välised ühendused: kõik seotud andmed ühendatakse õigesti, lisaks ühendatakse ühe tabeli ülejäänud kirjed

Välise ühenduse on nagu sisemine ühendus, kuid lisab ülejäänud read üks tabel. Välised ühendused on suunamata: vasakpoolne väline ühendamine sisaldab kõiki kirjeid vasakpoolne tabel – esimese tabeli ühendus- ja parempoolne väline ühendamine sisaldab kõiki kirjeid parempoolne tabel-ühendus teise tabeli.

Täielikud välised ühendused: kõik andmed, sobivuse

Mõned süsteemid sisaldada välise ühenduse mõlema tabeli kõigi ridade reaga, kui need vastavad. Seda nimetatakse täieliku välise ühendamise ja Access ei toeta otseselt neid. Siiski saate ristühenduse ja kriteeriumide saavutada sama mõju.

Ristühendused: kõik andmed, ühendatud igal võimalikul viisil

Enamikul juhtudel, ristühendust on tegemist kahe tabeli lisamine päringu ja seejärel unusta liituda need. Access tõlgendab see tähendab, et soovite näha ühest tabelist teise tabeli – iga võimalik kombinatsioon kirjete iga kirje koos iga kirje. Kuna pole andmeid saab ühendada, seda tüüpi Liitu harva toodab kasulikke tulemusi. Kuid on mõnel juhul, kui ristühendust on, vaid see, mida vajate.

Ebavõrdseid ühendusi: sarnaselt tavalise ühenduse, kuid kasutamise eri võrdlus read

Ebavõrdseid ühendusi kasutada tehtemärgi peale võrdusmärk (=) väärtuste võrdlemine ja määrata, kas ja kuidas andmed ühendada. Ebavõrdseid ühendusi ei toeta otseselt, kuid saate saavutada sama mõju ristühenduse ja kriteeriumide.

Ridade kuvamine ühendatud tabelite ühise väärtuse korral

Kui soovite, et kuvada ainult need read, mis on ühendatud välja väärtused, sisemist ühendust kasutada. Access loob automaatselt sisemised ühendused.

Sisemised ühendamised on kõige levinumat tüüpi ühendamised. Öeldakse päringu selle ridadest ühe ühendatud tabeli read ühendatud väljade andmete põhjal teise tabeli vastavad. Sisemise ühendusega päringu käivitamisel kaasatakse ainult need read, kus ühise väärtuse korral nii ühendatud tabelite päringu toiminguid.

Kuidas sisemist ühendust kasutada?

Enamasti, pole vaja midagi teha sisemist ühendust kasutada. Kui lisate päringusse juba tabelid on seosed, loob Access automaatselt sisemine ühendus iga kahe seotud tabeli, kui lisate tabelite vahel. Kui jõustatakse viiteterviklus, kuvab Access ühendusejoone kohal arvu "1", et näidata, milline tabel asub üks-mitmele-seose poolel "üks", ja lõpmatuse sümboli () seose poolel "mitmele" asuva tabeli puhul.

Isegi juhul, kui te pole loonud seoseid, loob Access sisemised ühendused automaatselt, kui kahe tabeli lisamine päringu ja nende tabelite on välja sama või ühilduv andmetüüp ja üks ühenduse väljad on mõne primaarvõti. "Üks" ja "mitmele" sümboleid ei kuvata sel juhul, kuna pole viitamistervikluse jõustamine.

Kui päringule päringute lisamine ja nende vahel seoseid pole loonud, ei loo Access automaatselt sisemised ühendused nende päringute ega päringute ja tabelite vahel. Üldiselt te peaksite need ise looma. Sisemine ühendus, lohistades välja ühe andmeallika väli teise andmeallika loomine Access kuvab kahe välja vahel joone näitamaks, et ühendus on loodud.

Sisemise ühenduse SQL-süntaks

SQL-is on sisemised ühendused määratud FROM-klauslis, nagu allpool näidatud:

FROM tabel1 INNER JOIN tabel2 ON tabel1.Väli1 võrdlus Tabel2.väli2

Toiming INNER JOIN koosneb järgmistest osadest.

Osa

Kirjeldus

tabel1, tabel2

Nende tabelite nimed, mille kirjed liidetakse.

väli1, väli2

Ühendatavate väljade nimed. Kui need pole numbriväljad, peab väljadel olema sama andmetüüp ja need peavad sisaldama sarnaseid andmeid, kuid neil ei pea olema sama nimi.

compare

Suvaline relatsiooniline võrdlusmärk: "=", "<", ">", "<=", ">=" või "<>".

Sisemise ühenduse süntaksi kohta lisateabe saamiseks lugege teemat toiming INNER JOIN.

Lehe algusse

Ühe tabeli kõigi ridade ja teise tabeli vastavate ridade kuvamine

Välised ühendused teavitavad päringut, et kuigi mõned read mõlemal pool ühendust vastavad täpselt, päring peaks sisaldama kõik read ühest tabelist ja nende ridade teise tabeli jagavad mõlemale poolele ning ühendamine ühise väärtuse.

Välised ühendused võib jääda välised ühendused või saab parempoolne väline ühendamine. Vasakpoolne väline ühendamine päring sisaldab kõik SQL-lause FROM-klausel ja ainult need read, kus ühendav väli sisaldab mõlema tabeli väärtused teise tabeli esimese tabeli read. Parempoolne väline ühendamine, päring sisaldab kõiki SQL-lause FROM-klausel ja ainult need read, kus ühendav väli sisaldab mõlema tabeli väärtused teise tabeli teise tabeli read.

Märkus.: Saate hõlpsasti kindlaks teha, milline tabel on vasakpoolne tabel või antud ühenduse õige tabeli topeltklõpsamisel ühendus ja seejärel dialoogiboksi Ühenduse atribuudid . Saate ka aktiveerige andmelehevaade, ja seejärel uurida FROM-klausli.

Kuna osa välise ühenduse ühel küljel read pole teise tabeli vastavate ridade, mõned väljad tagasi, et Päringu tulemites teise tabeli tühjaks kui ridu ei vasta.

Kuidas välist ühendust kasutada?

Välise ühenduse loomiseks olemasoleva sisemise ühenduse muutmine. Kui pole sisemine ühendus on olemas, saate luua, ja seejärel muudate seda väliseks ühenduseks.

Sisemise ühenduse muutmine väliseks ühenduseks

  1. Topeltklõpsake päringu kujundusvaates muudetavat ühendust.

    Kuvatakse dialoogiboks Ühendamisatribuudid.

  2. Pange tähele variant 2 ja suvand 3kõrval loetletud Valikud dialoogiboksis Atribuutide ühendamine .

  3. Klõpsake suvandit, mida soovite kasutada ja seejärel nuppu OK.

  4. Access kuvab ühendust ja kuvatakse nool, mis osutab andmeallikast, kus kõik read kaasatakse kus kaasatakse ainult need read, mis vastavad tingimusele ühendus andmeallikaga.

Mitmetähenduslikud välised ühendused

Kui loote päring, mis sisaldab LEFT JOIN ja sisemine ühendus, Access ei on võimalik, et määrata, milline liitumine toiming tuleb esimesena teha. Kuna tulemused erinevad sõltuvalt sellest, kas vasakpoolne ühendamine või sisemine ühendus tehakse esimest, Access kuvab tõrketeate:

Selle vea parandamiseks saate muutke päringut nii, et oleks selge, milline ühendamine tuleb esimesena teha.

Välise ühenduse SQL-süntaks

SQL-is on välised ühendused määratud FROM-klauslis, nagu allpool näidatud:

FROM Tabel1 [vasakule | ÕIGE] JOIN Tabel2
kohta table1.field1 võrdlus Tabel2.väli2

Toimingud LEFT JOIN ja RIGHT JOIN koosnevad järgmistest osadest.

Osa

Kirjeldus

tabel1, tabel2

Nende tabelite nimed, mille kirjed liidetakse.

väli1, väli2

Liidetavate väljade nimed. Väljadel peab olema sama andmetüüp ja need peavad sisaldama sarnaseid andmeid, kuid neil ei pea olema sama nimi.

compare

Suvaline relatsiooniline võrdlusmärk: "=", "<", ">", "<=", ">=" või "<>".

Välise ühenduse süntaksi kohta lisateabe saamiseks lugege teemat LEFT JOIN, RIGHT JOIN toimingud.

Lehe algusse

Mõlema tabeli kõigi ridade kuvamine ja nendega liituda, kus ühise väärtuse korral

Kui soovite kuvada kahe tabeli kõigi ridade ning nende levinud väärtuste põhjal, kasutage täieliku välise ühendamise. Access ei toeta otseselt täielikku välised ühendused, kuid võite saavutada sama mõju Ühispäringu abil. Järgnevalt selgitatakse seda teha, kuid kui soovite lisateavet ühispäringute, leiate jaotisest Vt ka .

Ühispäringu kasutamine täieliku välise ühendamise jaoks:

  1. Looge päring, milles on vasakpoolne väline ühendamine väljal, mida soovite kasutada täieliku välise ühendamise jaoks.

  2. Klõpsake menüü Avaleht jaotise Vaated nuppu Vaade ning seejärel käsku SQL-i vaade.

  3. Vajutage SQL-koodi kopeerimiseks klahvikombinatsiooni CTRL + C.

  4. Kustutage FROM-klausli lõpus semikoolon ja vajutage seejärel sisestusklahvi ENTER.

  5. Tippige UNION ja vajutage sisestusklahvi (ENTER).

    Märkus.: Kasutage võtmesõna ALL, kui kasutate Ühispäringu täieliku välise ühendamise jaoks.

  6. Vajutage sammus 3 kopeeritud SQL-koodi kleepimiseks klahvikombinatsiooni CTRL + V.

  7. Kleebitud koodis Asendage LEFT JOIN TEKSTIGARIGHTJOIN.

  8. Kustuta semikoolon lõpus teise FROM klausel, seejärel vajutage klahvi ENTER.

  9. Lisada WHERE-klausel, mis määrab, et Liitu välja väärtus on NULL esimeses tabelis loetletud FROM-klausli (vasakpoolne tabel).

    Näiteks kui FROM-klausel on:

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

    Tuleks lisada selline WHERE-klausel.

    WHERE Products.ID IS NULL

  10. Tippige semikoolon (;) Ühispäringu lõppu näitamaks WHERE-klausli lõpus.

  11. Klõpsake menüü Kujundus jaotises Tulemid nuppu Käivita.

Ristühendused

Ristühendused erinevad sisemine ja välimine ühendused, et need ei sisalda konkreetselt Access. Ristühendust, on tulemuseks nn ristkorrutis või otsekorrutis teise tabeli iga rea koos iga rea ühest tabelist. Iga kord, kui käivitate päring, mis sisaldab tabeleid, mis on konkreetselt liitunud, ristkorrutis on tulemus. Ristühendused on tavaliselt soovimatud, kuid on juhtumeid, kus need võivad olla kasulik.

Millal ristühendust kasutada?

Kui soovite uurida iga võimalik kombinatsioon ridade vahel kaks tabelit või päringut, ristühendust kasutada. Oletame näiteks, et teie ettevõte on olnud suurepärane aasta ja kaalute, andes soodustused oma klientidele. Saate luua päringu, mis summeerib iga kliendi ostud, luua väikese tabeli, mis on mitu võimalikku tagasimakse protsentide ja ühendada kaks kasutamine teise päringu, mis sooritavad ristühendust. Saate lõpuks päring, mis kuvab hüpoteetilist soodustused iga kliendi jaoks.

Kuidas ristühendust kasutada?

Mõne ristühendus luuakse iga kord, kui saate päringusse kaasata tabelit või päringut ja ei loomine vähemalt üks konkreetsete liituda iga tabeli või päringu. Access ühendab iga rea igat tabelit või päringut, mis pole ühendatud konkreetselt teise tabeli või päringu tulemused iga teise rea. Kaaluge tagasimakse stsenaarium eelmisest lõigust. Oletame, et teil on 91 klienti ja soovite vaadata viis võimalike tagasimakse protsentide. Teie ristühendus loob 455 rida (91 ja 5 toode).

Nagu võib ette kujutada, saate soovimatud ristühendused luua suure hulga ridu päringutulemi. Lisaks need tulemused on üldiselt mõtte, kuna kui te ei kavatse tegelikult kombineerida igal real, kus iga teise rea, enamik kombineeritud read, mis kuvatakse tulemuste ei tee mõttes. Lõpuks soovimatud ristühendused kasutavate päringute võib võtta kaua aega käivitamiseks.

Soovimatu ristühendus päringu kujundusvaates

1. ringiga ümbritsetud väljad tuleks üksteisega ühendada.

Soovimatu risttoode

1. Märkus väga suurte kirjete arvu.

Parandatud päringutulem

1. Pange tähele, et kirjete arv on palju väiksem.

Lehe algusse

Väljaväärtuste ebavõrdsuse põhjal tabelite ühendamine

Ühendused ei pea põhinema ühendatud väljade vastavus . Ühenduse aluseks võib olla mis tahes võrdlusmärk suurem kui (>) vähem kui (<), nt või ei võrdu (<>). Ühendused, mis põhinevad vastavus nimetatakse ebavõrdseid ühendusi.

Kui soovite ühendada kahe andmeallika põhjal välja väärtused, mis ei ole võrdne read, ebavõrdset ühendust kasutada. Tavaliselt ebavõrdseid ühendusi põhinevad mõlemal on suurem kui (>) vähem kui (<) suurem või võrdne (> =), või väiksem või võrdne (< =) võrdluse tehtemärgid. Ristühendused ebavõrdseid ühendusi, mis teeb, mitte võrdsed (<>) võivad tagastada peaaegu sama palju ridu, mis põhinevad ja tulemusi võib olla keeruline tõlgendada.

Kuidas ebavõrdset ühendust kasutada?

Kujundusvaates ebavõrdseid ühendusi ei toetata. Kui soovite neid kasutada, tuleb seda teha, kasutades SQL-i vaade. Siiski saate luua ühenduse kujundusvaates, aktiveerige andmelehevaade, otsige soovitud võrdub (=) võrdlusmärk ja muutke see tehtemärk soovite kasutada. Pärast seda, saate avada ainult päringu kujundusvaates uuesti kui te esimest muutmine võrdluse tehtemärk uuesti võrdub (=) SQL-i vaates.

Ühenduse kustutamine

Access loob automaatselt ühendus, mida te ei soovi või kui loote ühenduse kogemata – näiteks Liitu kahe vahel, mis on erinevate andmetüüpidega – saate kustutada ühendust.

  1. Klõpsake päringu kujundusruudustikus ühendust, mille soovite eemaldada.

  2. Vajutage nuppu Kustuta.

või

  • Päringu kujundusruudustikus, paremklõpsake ühendust, mille soovite eemaldada, ja seejärel klõpsake käsku Kustuta.

Lehe algusse

Vt ka

Kirjete lisamine tabelisse lisanduspäringu abil

Ühendab mitu valikupäringu Ühispäringu abil

Mitme tabeli päringu loomine

Luua, redigeerida või kustutada seost

Täiendage Office'i kasutamise oskusi
Tutvuge koolitusmaterjalidega
Kasutage uusi funktsioone enne teisi
Liituge Office Insideri programmiga

Kas sellest teabest oli abi?

Täname tagasiside eest!

Täname tagasiside eest! Tundub, et võiksime teid kokku viia ühega meie Office'i tugiagentidest, kes aitab teil probleemi lahendada.

×