Združevanje tabel in poizvedb

Opomba: Najnovejšo vsebino pomoči v vašem jeziku vam želimo zagotoviti v najkrajšem možnem času. Ta stran je bila prevedena z avtomatizacijo in lahko vsebuje slovnične napake ali nepravilnosti. Naš namen je, da bi bila vsebina za vas uporabna. Ali nam lahko na dnu te strani sporočite, ali so bile informacije za vas uporabne? Tukaj je angleški članek za preprosto referenco.

Ko vključite več virov podatkov v Accessovo poizvedbo, uporabite združitve omejite zapise, ki si želite ogledati, odvisno od tega, kako viri podatkov so povezani med seboj. Uporabite tudi združevanja za združevanje zapisov iz obeh virov podatkov, tako da vsak par zapise iz virov, ki postane en zapis v rezultatih poizvedbe.

V tem članku boste spoznali različna združevanja in vam pokaže, kako jih uporabljati v poizvedbi. Privzeto združevanja samodejno ustvari, če je že relacije med dvema podatkovni viri, ki jih uporabite v poizvedbi. Ustvari stik tudi, če so polja, ki jasno ustrezajo med seboj. Izbrišete lahko samodejno ustvarjeno združevanja. V tem članku najdete osnovne informacije o relacijami med tabelami, vključno s tem, kako ustvarite.

Opomba: Poizvedbe se lahko pridružijo na enak način, da se pridružijo tabel in lahko tudi pridružite tako.

V tem članku

Pregled

Vrste združevanja

Prikaz vrstic s skupno vrednostjo v obeh povezanih tabelah

Prikaz vseh vrstic ene tabele in ustreznih vrstic druge tabele

Prikaz vseh vrstic obeh tabel in se jim pridružite, s skupno vrednostjo

Navzkrižno združevanje

Pridružitev tabele na osnovi neenakosti vrednosti polj

Odstranjevanje združevanja

Pregled

Zbirka podatkov je zbirka tabel podatkov, ki vsebuje logične relacije. Uporabite relacij za povezovanje tabele s polji, ki jih imajo skupne. Tabelo lahko del poljubno število relacije, vendar vedno ima vsak odnos točno dve tabeli. V poizvedbi, relacije predstavlja združevanja.

Ko dodate tabel v poizvedbi, Access ustvari združevanja, ki temeljijo na odnosov, ki so bili določeni med tabelami. Ročno lahko ustvarite združevanja v poizvedbah, tudi če ne predstavljajo odnosov, ki ste jih določili. Če uporabljate druge poizvedbe (namesto ali poleg tabele) kot vire podatkov za poizvedbo, lahko ustvarite združevanja med vir poizvedbe, in tudi te poizvedbe in tabele, ki jo uporabite kot vir podatkov.

Združevanje delujejo podobno kot v pogojih poizvedbe, saj ugotavljajo pravila, ki podatkov se mora ujemati želite vključiti v poizvedbo operacije. Za razliko od pogojev, združevanja tudi določite, da bo vsak par vrstic, ki izpolnjuje pogoje združevanja skupaj v zapisov, ki tvorijo eno vrstico.

Obstajajo štiri osnovne vrste združevanja: Notranja združevanja, zunanja združevanja, navzkrižna združevanja in neenako združevanje. V tem članku raziskuje vsako vrsto združevanja, ki jih lahko uporabite, zakaj uporabljate posamezno vrsto, in se naučite ustvariti združevanja.

Razmerje med združevanji in poizvedbami je tako kot med relacijami in tabelami, prikazuje namreč, kako se podatki dveh virov združujejo na osnovi skupnih vrednosti. Oglejte si primer združevanja v poizvedbi, in sicer v pogledu načrta in z odprtim pogovornim oknom »Lastnosti stika«:

Polje »Lastnosti stika«

Združevanje, ki predstavlja ta vrstica med tabelami. Dvokliknite združevanje, če želite odpreti v Lastnosti stika pogovorno okno »«(predstavljenega) in preverjanje ali spreminjanje združevanja.

Združevanja so včasih smerna. V tem delu pogovornega okna je prikazano, katera tabela je katera v združevanju in katera so polja, ki povezujejo tabele.

To območje določa vrsto združevanja: 1. možnost je notranje združevanja, 2. zunanje združevanje in 3. desno zunanje združevanje.

Uporabljena so lahko polja obeh tabel, v vsakem polju pa so prikazani podatki, ki se nanašajo na določeno nalogo. Notranje združevanje ne vključuje drugih podatkov. Pri zunanjem združevanju so v rezultate poizvedbe vključeni tudi nesorodni zapisi ene tabele.

Na vrh strani

Vrste združevanja

Imamo štiri osnovne vrste združevanja: notranje združevanje, zunanje združevanje, navzkrižno združevanje in neenako združevanje. Navzkrižna in neenaka združevanja so zahtevnejša in se jih uporablja redkeje, a si jih je treba ogledati, če želite natančno razumeti delovanje združevanj.

Notranja združevanja: združeni so le sorodni podatki iz obeh tabel

Notranje združevanje je združevanje, pri katerem Access podatke tabele vključi le, če so v povezani tabeli na voljo ustrezni podatki in obratno. Največkrat boste uporabljali notranje združevanje. Če ustvarite združevanje in ne določite vrste združevanja, Access predvideva, da želite uporabiti notranje združevanje. Notranje združevanje je uporabno, ker omogoča združevanje podatkov iz dveh virov na osnovi skupnih vrednosti – tako vidite podatke šele, ko so povsem pregledni.

Zunanje združevanje: vsi sorodni podatki so pravilno združeni, tudi vsi preostali zapisi iz ene tabele

Zunanje združevanje je podobno notranjemu, le da so v poizvedbo vključene še preostale vrstice iz ene tabele. Je smerno: levo zunanje združevanje vključuje vse zapise leve tabele – torej prve tabele v združevanju, desno zunanje združevanje pa vključuje vse zapise desne tabele – druge tabele v združevanju.

Polno zunanje združevanje: vsi podatki – združeni, kjer je mogoče

V nekaterih sistemih lahko zunanje združevanje vključuje vse vrstice obeh tabel, pri čemer so ujemajoče se vrstice združene. To imenujemo polno zunanje združevanje in ga Access ne podpira, vendar pa lahko isti učinek dosežete z navzkrižnim združevanjem in merili.

Navzkrižno združevanje: vsi podatki – združeni na vse mogoče načine

Navzkrižno združevanje se navadno pojavi kot stranski učinek, če v poizvedbo dodate dve tabeli in jih nato pozabite združiti. Access to razume, kot da si želite ogledati vse zapise ene tabele skupaj z vsemi zapisi druge tabele – torej vse mogoče kombinacije zapisov. Ker podatkov ni mogoče združiti, so rezultati takega združevanja le redko uporabni, kljub temu pa je v nekaterih primerih navzkrižno združevanje natanko to, kar potrebujete.

Neenako združevanje: kot navadno združevanje, le da se za združevanje vrstic uporabi drugo primerjavo

Pri neenakem združevanju se za primerjavo vrednosti in odločanje o tem, ali združiti podatke in kako jih združiti, ne uporablja enačaja (=), temveč druge operatorje. Neenako združevanje ni podprto, vendar lahko isti učinek dosežete z navzkrižnim združevanjem in merili.

Prikaz vrstic s skupno vrednostjo v obeh povezanih tabelah

Če želite prikazati samo vrstice z ujemajočimi se vrednostmi v združenem polju, uporabite notranje združevanje. Access notranje združevanje ustvari samodejno.

Notranja združevanja so najpogostejša vrsta združevanja. Povedati poizvedbe, te vrstice iz ene v povezanih tabelah imajo pripadajoče vrstice v drugi tabeli, na podlagi podatkov v Združenih polj. Ko zaženete poizvedbo s notranje združevanje, le te vrstice, kjer s skupno vrednostjo obstaja v obeh povezanih tabelah vključene v operacij poizvedbe.

Kako uporabiti notranje združevanje?

Večinoma ni treba narediti nič, da uporabite združevanje. Če v poizvedbo dodate tabele, ki že vključujejo relacije, Access med vsakim parom povezanih tabel samodejno ustvari notranja združevanja, ko dodate tabele. Če vsilite eferenčna integriteta, Access prikaže tudi številko »1« nad združevalno črto, da vidite, katera tabela je na strani »ena« relacija »ena proti mnogo«, in znak za neskončno ( ) za prikaz, katera tabela je na strani »mnogo«.

Tudi če še niste ustvarili relacij, Access samodejno ustvari notranje združevanje, če v poizvedbo dodate dve tabeli in teh tabelah so polja z istim ali združljivi podatkovni tip in enega polja za združevanje je primarni ključ. Simbole za »ena« in »mnogo« niso prikazani v tem primeru, ker ni mogoče vsiliti referenčno integriteto.

Če dodate poizvedbe v poizvedbo, in niste ustvarili relacij, Access ne ustvari samodejno notranje združevanje med te poizvedbe ali poizvedbe in tabele. Na splošno naj jih ustvarite sami. Notranji stik ustvarite tako, da povlečete polja iz enega vira podatkov v polje na drug vir podatkov. Access prikaže vrstico med dve polji, če želite prikazati, da je bilo ustvarjeno združevanja.

Sintaksa SQL notranjega združevanja

Notranja združevanja so navedena v stavkih SQL in FROM, kot je prikazano spodaj:

IZ Tabela1 INNER JOIN Tabela2 ON Tabela1. polje1 primerjava Tabela2. polje2

Operacija INNER JOIN je sestavljena iz teh delov:

Del

Opis

tabela1, tabela2

Imena tabel z zapisi, ki so združeni.

polje1, polje2

Imena polj, ki so združena. Če polja niso številčna, morajo biti istega podatkovni tip in imeti isto vrsto podatkov, ni jim pa treba imeti istega imena.

primerjava

Kateri koli relacijski primerjalni operator: "=," "<," ">," "<=," ">=," ali "<>."

Če želite več informacij o sintaksi notranjega združevanja, si oglejte temo Operacija INNER JOIN.

Na vrh strani

Prikaz vseh vrstic ene tabele in ustreznih vrstic druge tabele

Zunanja združevanja povedati poizvedbe, ki, čeprav nekatere vrstice na obeh straneh združevanje, ki ustrezajo točno, naj poizvedba vsebuje vse vrstice iz ene tabele, in tudi te vrstice iz druge tabele, ki imajo skupne vrednosti na obe strani združevanja.

Zunanja združevanja so lahko leva ali desna. Pri levem zunanjem združevanju poizvedba vključi vse vrstice iz prve tabele v stavku FROM izjave SQL in samo tiste vrstice iz druge tabele, kjer pridruženo polje vsebuje skupne vrednosti obeh tabel. Pri desnem zunanjem združevanju poizvedba vključi vse vrstice iz druge tabele v stavku FROM izjave SQL in samo tiste vrstice iz druge tabele, kjer pridruženo polje vsebuje skupne vrednosti obeh tabel.

Opomba: Preprosto lahko ugotovite, katere tabele je leva tabela ali desna tabela v dani pridružite tako, da dvokliknete združevanja in si nato v pogovornem oknu Lastnosti stika . Lahko tudi preklopite na pogled SQL in pregledate stavek FROM.

Ker nekatere vrstice na eni strani zunanjega združevanja ne bodo imele ustrezajočih vrstic iz druge tabele, bodo nekatera polja druge tabele, ki bodo vrnjena v rezultatih poizvedbe, prazna.

Kako uporabiti zunanje združevanje?

Zunanje združevanje ustvarite tako, da spremenite obstoječe notranje združevanje. Če notranje združevanje ni bilo ustvarjeno, ga ustvarite in nato spremenite v zunanje združevanje.

Spreminjanje notranjega združevanja v zunanje združevanje

  1. V pogledu načrta poizvedbe, dvokliknite združevanje, ki ga želite spremeniti.

    Odpre se pogovorno okno Lastnosti stika.

  2. V pogovornem oknu Lastnosti stika bodite pozorni na izbire, ki so navedene ob možnostih 2 in 3.

  3. Kliknite možnost, ki jo želite uporabiti, in nato V redu.

  4. V Accessu je združevanje prikazano skupaj s puščico, ki kaže iz vira podatkov, kamor bodo vključene vse vrstice, na vir podatkov, kjer bodo vključene samo tiste vrstice, ki izpolnjujejo združevalni pogoj.

Dvoumna zunanja združevanja

Če ustvarite poizvedbo, ki vsebuje operaciji LEFT JOIN in notranje združevanje, Access morda ne boste mogli določite, kateri pridružiti postopek treba izvesti najprej. Ker rezultati so odvisna od tega, ali operaciji left join ali notranje združevanje izvesti najprej, Access prikaže sporočilo o napaki:

Če želite odpraviti napako, morate poizvedbo spremenite tako, da bo jasno, katero združevanje je treba izvesti najprej.

Sintaksa SQL zunanjega združevanja

Zunanja združevanja so navedena v stavkih SQL in FROM, kot je prikazano spodaj:

IZ Tabela1 [levo | DESNI] JOIN Tabela2
na table1.field1 primerjava Tabela2.polje2

Operaciji LEFT JOIN in RIGHT JOIN sta sestavljeni iz teh delov:

Del

Opis

tabela1, tabela2

Imena tabel z zapisi, ki so združeni.

polje1, polje2

Imena polj, ki so združena. Polja morajo biti istega podatkovni tip in imeti isto vrsto podatkov, ni jim pa treba imeti istega imena.

primerjava

Kateri koli relacijski primerjalni operator: "=," "<," ">," "<=," ">=," ali "<>."

Če želite več informacij o sintaksi zunanjega združevanja, si oglejte temo Operaciji LEFT JOIN in RIGHT JOIN.

Na vrh strani

Prikaz vseh vrstic obeh tabel in se jim pridružite, s skupno vrednostjo

Če želite prikazati vse vrstice iz dveh tabel in Pridružite se jim na osnovi skupne vrednosti, uporabite polno zunanje združevanje. Access ne podpira polno zunanje združevanje pa isti učinek dosežete z uporabo poizvedbe za združevanje. V tem postopku je razloženo, kako to naredite, vendar če želite več informacij o poizvedbah za združevanje, si oglejte razdelek Glejte tudi .

Uporaba poizvedbe za združevanje za izvajanje polno zunanje združevanje:

  1. Ustvarite poizvedbo z levim zunanjim združevanjem v polju, ki ga želite uporabiti za polno zunanje združevanje.

  2. Na zavihku Osnovno v skupini Pogledi kliknite Ogled in nato Pogled SQL.

  3. Pritisnite CTRL + C, da kopirate kodo SQL.

  4. Izbrišite podpičje na koncu stavka FROM in pritisnite tipko ENTER.

  5. Vnesite UNION in nato pritisnite Enter.

    Opomba: Ključne besede ALL ne uporabite pri poizvedbi za združevanje, s katero želite izvesti polno zunanje združevanje.

  6. Pritisnite CTRL + V, da prilepite kodo SQL, ki ste jo kopirali v koraku 3.

  7. V kodi, ki ste jo prilepili, spremenite LEVO ZDRUŽEVANJE v DESNO ZDRUŽEVANJE.

  8. Izbrišite podpičje na koncu drugega stavka FROM in pritisnite tipko ENTER.

  9. Dodajte stavek WHERE, v katerem je navedena vrednost polja za združevanja v prvi tabeli, navedeni v stavku FROM (leva tabela), NIČ.

    Če je stavek FROM na primer:

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

    Bi dodali ta stavek WHERE:

    WHERE Products.ID IS NULL

  10. Vnesite podpičje (;) na konec stavka WHERE, če želite označiti konec poizvedbe za združevanje.

  11. Na zavihku Načrt v skupini Rezultati kliknite Zaženi.

Navzkrižno združevanje

Navzkrižno združevanje se razlikujejo od notranje in zunanje združitve, da ni izrecno predstavljena v Access. V navzkrižno združevanje, vsako vrstico iz ene tabele v kombinaciji z vsako vrstico iz druge tabele, kar se odraža v kar se imenuje navzkrižni produkt ali kartezični produkt. Kadar koli zaženete poizvedbo, ki vsebuje tabele, ki so izrecno ne pridružite, navzkrižni produkt je rezultat. Navzkrižno združevanje so po navadi nenamerno, vendar obstajajo primeri, kjer so lahko koristne.

Zakaj naj uporabim navzkrižno združevanje?

Če želite pregledati vse možne kombinacije vrstic med dvema tabel ali poizvedb, uporabite navzkrižno združevanje. Recimo, da vaše podjetje je bilo preteklo leto in razmišljate o daje popusti za stranke. Ustvarjanje poizvedbe, ki sešteje posamezne uporabniške nakupe, ustvari majhno tabelo, ki ima več mogoče rabata odstotkov in združevanje dveh v drugo poizvedbo, ki izvede navzkrižno združevanje. Končajo s poizvedbo, ki prikaže nabor hipotetičnih popusti za vsakega kupca.

Kako uporabiti navzkrižno združevanje?

Navzkrižno združevanje je izdelanih kadar koli v poizvedbo vključite tabel ali poizvedb in ne ustvarite vsaj en eksplicitne združevanja za vsako tabelo ali poizvedbo. Dostop do združuje vse vrstice iz vsako tabelo ali poizvedbo, ki ni izrecno združen v tabelo ali poizvedbo, da vsaka druga vrstica v rezultatih. Oglejte si primer rabata, iz prejšnjega odstavka. Prevzeti imate 91 strank in želite si pet možnih rabata odstotkov. Vaš navzkrižno združevanje ustvari 455 vrstic (izdelek 91 in 5).

Kot si lahko predstavljate, nenamerno navzkrižno združevanje lahko ustvarite veliko število vrstic v rezultatih poizvedbe. Poleg tega te rezultati so običajno brez pomena, saj če nimate namena združiti vsake vrstice z vsaka druga vrstica, večina Združenih vrstic, ki so prikazane v rezultatih ne bo smiselno. Na koncu poizvedbe, ki uporabljajo nenamerno navzkrižno združevanje lahko traja dlje časa, da zaženete.

Nenamerno navzkrižno združevanje v pogledu načrta poizvedbe
Nenamerno navzkrižno pridružite v pogledu načrta poizvedbe.

1. na obkroženo polja naj pridružili med seboj.

Nenamerni navzkrižni produkt
Navzkrižni produkt, ki jih vrne nenamerno navzkrižno združevanje, ki je prikazano zgoraj.

1. Opomba zelo veliko število zapisov.

Popravljeni rezultat poizvedbe
Rezultati, ko je ustvarjen pravilno pridruži se.

1., upoštevajte, da je veliko manjše število zapisov.

Na vrh strani

Pridružitev tabele na osnovi neenakosti vrednosti polj

Ni nujno, da so združevanja osnovana na enakosti združenih polj. Združevanje je lahko osnovano na kakršnem koli primerjalnem operatorju, na primer večje kot (>), manjše kot (<) ali ni enako (<>). Združevanja, ki niso osnovana na enakosti, so neenaka združevanja.

Neenako združevanje uporabite, če želite združiti vrstice iz dveh virov podatkov, ki so osnovane na neenakih vrednostih. Po navadi so neenaka združevanja osnovana na primerjalnih operatorjih večje kot (>), manjše kot (<), večje kot ali enako (>=) in manjše kot ali enako (<=). Neenaka združevanja, ki so osnovana na operatorju ni enako (<>), lahko vrnejo skoraj toliko vrstic kot navzkrižna združevanja. Iz takih rezultatov pa je težko kaj razbrati.

Kako uporabiti neenako združevanje?

Neenako združevanje niso podprte v pogledu načrta. Če želite, da uporabijo, morate to storiti z uporabo pogled SQL. Vendar pa lahko ustvarite združevanja v pogledu načrta, preklopite na pogled SQL, iskanje je enaka (=) primerjalnega operatorja in spreminjanje da operator želite uporabiti. Ko to storite, ga lahko le odprite poizvedbo v pogledu načrta znova če ste prvi spremeni primerjalnega operatorja nazaj na enak (=) v pogledu SQL.

Odstranjevanje združevanja

Če Access samodejno ustvari združevanje, ki ga ne želite, ali če ustvarite združevanje po pomoti – na primer združevanje med dvema poljema z različnim podatkovnim tipom – ga lahko izbrišete.

  1. V mreži načrta poizvedbe kliknite združevanje, ki ga želite odstraniti.

  2. Pritisnite Izbriši.

-ali-

  • V mreži načrta poizvedbe z desno tipko miške kliknite združevanje, ki ga želite odstraniti, in nato kliknite Delete.

Na vrh strani

Glejte tudi

Dodajanje zapisov v tabelo tako, da uporabite poizvedbo za dodajanje

Združevanje rezultatov več izberite poizvedb z uporabo poizvedbe za združevanje

Ustvarjanje poizvedbe, ki temelji na več tabel

Ustvarjanje, urejanje ali brisanje relacije

Razširite poznavanje Officea
Oglejte si izobraževanje
Prvi dobite nove funkcije
Pridružite se programu Office Insider

Vam je bila informacija v pomoč?

Zahvaljujemo se vam za povratne informacije.

Zahvaljujemo se vam za povratne informacije. Videti je, da bi vam prišla prav pomoč enega od naših Officeovih agentov za podporo.

×