Združevanje tabel in poizvedb

Pomembno : Besedilo članka je prevedeno strojno. Glejte zavrnitev odgovornosti. Angleško različico tega članka najdete tukaj .

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

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ževanja se obnašajo podobno kot pogoji poizvedbe. Z njimi se namreč ustvari pravila, katere morajo podatki izpolnjevati, da so vključeni v operacije poizvedbe. Združevanja drugače kot pogoji navedejo, da je vsak par vrstic, ki izpolnjuje pogoje združevanja, združen v množici zapisov, ki tvorijo eno samo vrstico.

Imamo štiri osnovne vrste združevanja: notranja združevanja, zunanja združevanja, navzkrižna združevanja in neenaka združevanja. Članek raziskuje vsako vrsto združevanja, ki jo lahko uporabite, zakaj jih uporabljate in kako ustvariti združevanja.

Na vrh strani

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 najosnovnejša vrsta združevanja. Poizvedbo obveščajo o tem, da se vrstice iz ene od združenih tabel ujemajo z vrsticami v drugi tabeli. Ko zaženete poizvedbo z notranjim združevanjem, so v operacijo poizvedbe vključene samo tiste vrstice, v katerih obstaja skupna vrednost obeh povezanih tabelah.

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 niste ustvarili nobene relacije, Access samodejno ustvari notranja združevanja, če dodate dve tabeli in vsaka od teh ima polje istega ali združljivega podatkovnega tipa. Eno od pridruženih polj pa je primarni ključ. Simboli za »ena« in »mnogo« v tem primeru niso prikazani, ker referenčne integritete niste vsilili.

Če v poizvedbo dodate druge poizvedbe in med njimi niste ustvarili relacij, Access ne ustvari notranjih združevanj med poizvedbami ali med poizvedbami in tabelami samodejno. Ustvariti jih morate sami. Notranje združevanje ustvarite tako, da povlečete polje iz enega vira podatkov v polje, ki je v drugem viru podatkov. Access med poljema prikaže črto, da nakaže, da je združevanje ustvarjeno.

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 naslednjih delov:

Del

Opis

tabela1, tabela2

Imena tabel iz katerih se sestavljajo zapisi.

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: "=," "<," ">," "<=," ">=," or "<>."

Č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 obveščajo poizvedbo, da čeprav se nekatere vrstice na obeh straneh združevanja popolnoma ujemajo, naj poizvedba vključi vse vrstice iz ene tabele in tudi tiste vrstice iz drugih tabel, ki si delijo skupno vrednost na obeh straneh 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 : Ni težko ugotoviti, katera je leva in katera desna tabela danega združevanja tako, da dvokliknete združevanja in si nato ogledate pogovorno okno Lastnosti združevanja. Preklopite lahko tudi v 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, 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.

    Prikaže se pogovorno okno Lastnosti stika.

  2. V pogovornem oknu Lastnosti združevanja 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 iz katerih se sestavljajo zapisi.

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: "=," "<," ">," "<=," ">=," or "<>."

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

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 .

Uporabite poizvedbo za združevanje, če želite izvesti 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. S pritiskom na kombinacijo tipk CTRL+C kopirajte kodo SQL.

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

  5. Vnesite UNIONin pritisnite tipko ENTER.

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

  6. Pritisnite kombinacijo tipk CTRL+V, če želite prilepite kodo SQL, ki ste jo kopirali v 3. koraku.

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

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

    Če je stavek FORM 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 kartici Načrt v skupini Rezultati kliknite Zaženi.

Navzkrižna združevanja

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 uporabiti navzkrižno združevanje?

Če želite pregledati vsako mogočo kombinacijo vrstic med dvema tabela ali poizvedbama, uporabite navzkrižno združevanje. Recimo na primer, da je bilo preteklo leto za vaše podjetje odlično in bi strankam radi ponudili znižanje. Naredite lahko poizvedbo, ki sešteje vse nakupe stranke, ustvarite majhno tabelo, v kateri je nekaj mogočih odstotkov znižanja in oboje združite v novi poizvedbi, ki izvede navzkrižno združevanje. Dobili boste poizvedbo, ki za vsako stranko prikaže nabor hipotetičnih znižanj.

Kako uporabiti navzkrižno združevanje?

Navzkrižno združevanje se zažene vsakič, ko v poizvedbi vključite tabele ali poizvedbe in ne ustvarite vsaj enega izrecnega združevanja za vsako tabelo ali poizvedbo. Access združi vsako vrstico vsake tabele ali poizvedbe, ki ni izrecno združena s katero drugo tabelo, s katero koli drugo vrstico v rezultatih. Razmislite o scenariju o znižanju iz prejšnjega odstavka. Privzemimo, da imate 91 strank in si želite ogledati pet mogočih odstotkov znižanja. Navzkrižno združevanje da 455 vrstic (zmnožek 91 in 5).

Kot si lahko predstavljate, nenamerna navzkrižna združevanja lahko v rezultatih poizvedbe ustvarijo veliko število vrstic. Povrh vsega so ti rezultati brez pomena, saj če nimate namena združiti vsake vrstice z vsako drugo vrstico, večina prikazanih združenih vrstic v rezultatih nima smisla. Poizvedbe, ki uporabljajo nenamerna navzkrižna združevanja lahko vzamejo veliko časa.

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

1. Obkrožena polja morajo biti med seboj združena.

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

1. Bodite pozorni na zelo veliko število zapisov.

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

1. Bodite pozorni na znatno manjše število zapisov.

Na vrh strani

Pridružitev tabele na osnovi neenakosti vrednosti polj

Ni nujno, da so združevanja osnovana na enakosti polj stika. 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 petih neenakih vrednostih. Ponavadi 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?

Neenaka združevanja niso podprta v pogledu načrta. Če jih želite uporabiti, morate biti v pogledu SQL. Vendar pa lahko ustvarite združevanje v pogledu načrta, preklopite v pogled SQL, poiščite primerjalni operator je enako (=) in ga spremenite v želeni operator. Ko ste to naredili, lahko samo odprete poizvedbo v pogledu načrta, če seveda najprej v pogledu SQL spremenite primerjalni operator nazaj na je enako (=).

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 tipko DELETE.

– ali –

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

Na vrh strani

Opomba : Strojni prevod – zavrnitev odgovornosti: Ta članek je bil preveden z računalniškim programom brez človeškega posredovanja. Microsoft skuša s strojno prevedenimi članki vsebino o Microsoftovih izdelkih, storitvah in tehnologijah približati osebam, ki ne razumejo angleščine. Ker je bil članek strojno preveden, so lahko v njem jezikovne, slovnične in pravopisne napake.

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 svoja znanja
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.

×