Táblák és lekérdezések illesztése

Fontos : Ez a cikk gépi fordítással lett lefordítva, lásd a jognyilatkozatot. A cikk angol változatát itt találhatja meg.

Ha több adatforrásból Access-lekérdezésekben, illesztések segítségével a rekordokat, hogy meg szeretné tekinteni, hogyan az adatforrások egymáshoz kapcsolódó alapján. Használatával is illesztések két adatforrás rekordját úgy, hogy az egyes rekordok a forrásból származó pár válik egy rekordot a lekérdezés eredményei között.

Ez a cikk azt ismerteti, hogy a különböző típusú illesztések, és megtudhatja, hogy miként használhatja őket egy lekérdezésben. Alapértelmezés szerint a illesztés automatikusan létrejön, ha már van egy kapcsolatot között két adatforrások használata lekérdezésben. Illesztés is létrehozott, ha vannak olyan mezők, amelyek egyértelműen megfelelnek egymással. Automatikusan létrehozott illesztéssé törölheti. Ebben a cikkben alapvető adatainak Táblakapcsolatok, például hogy miként hozhat létre egyet.

Megjegyzés : Lekérdezések bekapcsolódhat az adott dokumentumkészletből ugyanúgy, csatlakozás a táblázatok, és is csatlakozhatnak a mindkettő.

Tartalom

– Áttekintés

Az illesztések típusai

Csak az illesztett táblákban azonos értéket tartalmazó sorok megjelenítése

Az egyik tábla minden sorának, valamint a másik tábla megfelelő sorainak megjelenítése

Mindkét tábla minden sorának megjelenítése és csatlakozás csak közös értéket tartalmazó

Idegen illesztések

Bekapcsolódás a táblázatok a mezőértékekre megadott egyenlőtlenségi feltételek alapján

Illesztés törlése

Áttekintés

Adatbázis táblázatból származó adatokat, amelyek egymással logikai kapcsolatok ellátni gyűjteménye. Kapcsolatok segítségével mezőket, amelyeket az őket érintő közös táblák csatlakozni. A táblázat tetszőleges számú kapcsolatok részét, de minden kapcsolat mindig rendelkezik pontosan két tábla. Kapcsolat a lekérdezésben illesztés jelöli.

Ha a táblák hozzáadása egy lekérdezéshez, a Access definiált a táblák közötti kapcsolatok alapuló illesztés hoz létre. Létrehozhatja saját kezűleg illesztések lekérdezésekben, még akkor is, ha nem felelnek meg, amely már definiált kapcsolatok. Ha más lekérdezések (mellett vagy helyett táblázatok) adatok forrásaként lekérdezést használ, a forrás lekérdezéseket, valamint is közötti ezeket a lekérdezések és a táblázatokat, az adatok forrásaként használt illesztések hozhat létre.

Illesztés hasonlóan viselkednek lekérdezési feltétel annak, hogy meghatározzák, hogy az adatok meg kell egyeznie a lekérdezési műveletek a felvenni kívánt szabályok. Feltétel, eltérően illesztések is megadhatja, hogy minden pár sorokat, amelyek eleget a csatlakozás a rekordhalmazokban egyetlen sor kialakítására adatai egyesítve.

Négyféle egyszerű illesztések: belső illesztés, a külső illesztés, a közötti illesztések és az egyenlőtlenségi feltételen alapuló illesztés. Ez a cikk minden is használhat, illesztés típusát tallózása az oka annak, hogy minden egyes, és hogyan hozhat létre az illesztést használja.

Az illesztés ugyanaz a lekérdezések számára, mint a kapcsolat a táblák számára: azt jelzi, hogy két forrás adatait hogyan kell összevonni a közös adatértékek alapján. Az alábbiakban egy lekérdezés Tervező nézetében megjelenített illesztés látható az illesztés tulajdonságait felsoroló párbeszédpanellel együtt:

Az Illesztési tulajdonságok párbeszédpanel

Ez a táblák közötti vonal jelöli az illesztés. Kattintson duplán kattintva nyissa meg a illesztés a Illesztési tulajdonságok párbeszédpanel (kitaláltak) és véleményezés vagy az illesztés módosítása.

Egyes illesztéseknek irányuk is van. A párbeszédpanelnek ez a területe megmutatja, hogy az egyes táblák az illesztés melyik oldalán vannak, és mely mezők kapcsolják egymáshoz őket.

Ez a terület határozza meg az illesztés típusát: az első lehetőség a belső illesztés, a második a bal oldali külső illesztés, a harmadik pedig a jobb oldali külső illesztés.

Az illesztésben mindkét tábla mezői felhasználhatók, és mindkettőből az adott művelettel kapott adatok jelennek meg. Belső illesztés esetén az eredmény nem tartalmaz egyéb rekordokat. Külső illesztés esetén az egyik tábla nem illeszkedő rekordjai is az eredmény részét képezik.

Vissza a lap tetejére

Az illesztések típusai

Az illesztéseknek négy alapvető típusa van: belső illesztés, külső illesztés, keresztillesztés és az egyenlőtlenségi feltételen alapuló illesztés. A keresztillesztés és az egyenlőtlen illesztés speciális és ritkán használt illesztéstípusok, de az illesztések működésének teljes megértéséhez ezeket is ismerni kell.

Belső illesztés: csak a két tábla kapcsolódó adatainak összevonása

A belső illesztés során az Access az egyik táblának csak azokat az adatait adja vissza, amelyekhez a másik táblában tartozik valamilyen adat, és fordítva. Ez a legtöbbször használt illesztéstípus. Ha az illesztés létrehozásakor nem adja meg külön, hogy milyen típusú legyen, akkor az Access feltételezi, hogy belső illesztést szeretne. A belső illesztések hasznosak, mivel két forrás adatait egyesítik a közös értékek alapján – tehát csak akkor jelennek meg adatok, ha valóban van kapcsolat a két tábla között.

Külső illesztés: a két tábla kapcsolódó adatainak összevonása, kiegészítve valamelyik tábla fennmaradó rekordjaival

A külső illesztés olyan, mint a belső illesztés, de az egyik tábla fennmaradó sorait is magában foglalja. A külső illesztéseknek van iránya: a bal oldali külső illesztés a bal tábla – tehát az illesztés első táblája – minden rekordját, míg a jobb oldali külső illesztés a jobb tábla – az illesztés második táblája – minden rekordját tartalmazza.

Teljes külső illesztés: minden adat, az egyező rekordok összevonásával

Egyes rendszereken a külső illesztésbe mindkét tábla minden sora belefoglalható úgy, hogy az egymásnak megfelelő sorok össze legyenek vonva. Ezt a teljes külső illesztésnek nevezett műveletet az Access nem támogatja külön, de egy keresztillesztéssel és feltételek megadásával elérhető ugyanez az eredmény.

Keresztillesztés: minden rekord minden lehetséges módon kombinálva

A keresztillesztés legtöbbször mellékhatásként jelentkezik, amikor egy lekérdezésbe két táblát vesznek fel, de elfelejtik illeszteni őket. Az Access ezt úgy értelmezi, hogy a felhasználó az egyik tábla összes rekordjának és a másik tábla összes rekordjának minden lehetséges kombinációját szeretné visszakapni. Mivel ilyenkor nincs rekordösszevonás, ezért ez a fajta illesztés ritkán ad használható eredményt. Néhány esetben viszont lehet, hogy éppen keresztillesztésre van szükség.

Egyenlőtlenségi feltételen alapuló illesztés: mint a szokásos illesztés, de az összevonandó sorokat más összehasonlítási feltétel határozza meg

Az egyenlőtlenségi feltételen alapuló illesztés során egy egyenlőségjeltől (=) különböző operátor határozza meg, hogy milyen adatokat hogyan kell összevonni. Az egyenlőtlenségi feltételen alapuló illesztés külön nem támogatott, de egy keresztillesztéssel és feltételek megadásával elérhető ugyanez az eredmény.

Csak az illesztett táblákban azonos értéket tartalmazó sorok megjelenítése

Ha csak azokat a sorokat szeretné megjeleníteni, amelyek az illesztett mezőben egyező értékeket tartalmaznak, akkor belső illesztést kell használnia. Az Access automatikusan létrehozza a belső illesztéseket.

Belső illesztés az illesztés leggyakoribb típusát. Az illesztett egyikéből adott sorokat tájékoztassa lekérdezés táblák sorok a Reseller alapján az illesztett mezők adatainak felelnek meg. A belső illesztés lekérdezés futtatásakor csak azok a csak az illesztett táblákban azonos értéket tartalmazó sorok lekérdezés műveletek szerepelni fog.

Hogyan használható a belső illesztés?

A belső illesztés használatához legtöbbször semmit nem kell tennie. Ha a lekérdezésben szereplő táblák között már van kapcsolat, akkor az Access automatikusan létrehoz egy-egy belső illesztést a kapcsolódó táblapárok között, amikor a táblákat felveszi a lekérdezésbe. Ha a táblák között kötelező a hivatkozási integritás megőrzése, akkor az Access az illesztés vonala fölött egy egyessel („1") jelöli, hogy melyik tábla van az egy-a-többhöz kapcsolat „egy” oldalán, és egy végtelen szimbólummal () jelzi a „több” oldalon álló táblát.

Akkor is, ha még nem hozott létre kapcsolatok, a Access automatikusan létrehoz belső illesztés, ha két tábla hozzáadása egy lekérdezéshez, és minden egyes táblákra van egy mezőt az ugyanazon vagy kompatibilis adattípus és az illesztőmezőket közül egy elsődleges kulcs. A "egy" és "több" szimbólumok nem jelennek ebben az esetben, mert nem ellenőrzi a hivatkozási integritás.

Lekérdezés hozzáadása a lekérdezéshez, és ezeket a lekérdezések közötti kapcsolatok nem hozott létre, ha az Access nem hozza létre automatikusan belső illesztés, ezeket a lekérdezések vagy lekérdezéseket és a táblázatok között. Általánosságban elmondható, meg kell őket saját magának kell létrehoznia. Belső illesztés mező áthúzása egy adatforrást szeretne egy mezőt egy másik adatforrás létrehozása. Az Access megjeleníti a két mező kattintva jelenítse meg, hogy a illesztés létrehoztak között egy vonalat.

Belső illesztés SQL-szintaxisa

A belső illesztés az SQL-utasítás FROM záradékában adható meg a következőképpen:

FROM tábla1 INNER JOIN tábla2 a table1. mező1 tábla2 összehasonlítása. mező2

Az INNER JOIN művelet részei a következők:

Rész

Leírás

tábla1, tábla2

Annak a két táblának a neve, amelyeknek a rekordjait egyesíti.

mező1, mező2

Az illesztendő mezők neve. Ha a mezők nem numerikusak, akkor az adattípus azonosnak kell lennie, és ugyanolyan jellegű adatokat kell tartalmazniuk. A nevük lehet különböző.

összehasonlítása

Bármely relációs összehasonlító operátor: "=", "<", ">", "<=", ">=" vagy "<>".

További információt a belső illesztés szintaxisára témakört INNER JOIN művelet.

Vissza a lap tetejére

Az egyik tábla minden sorának, valamint a másik tábla megfelelő sorainak megjelenítése

Külső illesztések megállapítani, hogy a lekérdezés, amely ugyan néhány a sorok mindkét oldalán az illesztés pontosan felelnek meg, a lekérdezés minden egyik táblából a sorokat, valamint azokat a közös értéket az illesztés mindkét oldalára megosztása a másik tábla sorainak tartalmazza.

A külső illesztések bal oldali vagy jobb oldali külső illesztések lehetnek. A bal oldali külső illesztésben a lekérdezés az SQL-utasítás FROM záradékában szereplő első tábla minden sorát tartalmazza, a másodikból viszont csak azokat, amelyekben az illesztő mező értéke mindkét táblában megegyezik. A jobb oldali külső illesztésben a lekérdezés az SQL-utasítás FROM záradékában szereplő második táblából tartalmaz minden sort, és az elsőből csak azokat, amelyekben az illesztő mező értéke mindkét táblában megegyezik.

Megjegyzés : Egyszerűen, hogy melyik tábla áll a bal oldali tábla vagy a jobb oldali tábla a megadott illesztés kattintson duplán az illesztés, és kattintson az Illesztési tulajdonságok párbeszédpanel megjeleníti. Az SQL nézet is váltson, és vizsgálja meg a FROM záradék.

Mivel a külső illesztés egyik oldalán álló sorok között vannak olyanok, amelyekhez nincs megfelelő sor a másik táblából, ezért a másik tábla lekérdezésben visszaadott mezői ezekben a sorokban üresen maradnak.

Hogyan használható a külső illesztés?

A külső illesztést egy meglévő belső illesztés módosításával hozhatja létre. Ha még nincs belső illesztés, akkor hozzon létre egyet, és azt alakítsa át külső illesztéssé.

Belső illesztés átalakítása külső illesztéssé

  1. A lekérdezést Tervező nézetben megjelenítve kattintson duplán a módosítani kívánt illesztésre.

    Megjelenik az Illesztési tulajdonságok párbeszédpanel.

  2. Az Illesztési tulajdonságok párbeszédpanelen figyelje meg a lehetőségek felsorolt melletti beállítás 2 és 3-aslehetőséget.

  3. Kattintson a használni kívánt beállításra, majd az OK gombra.

  4. Az Access egy nyíllal ábrázolja az illesztést. A nyíl abból az adatforrásból indul, amelynek minden sora szerepelni fog a lekérdezésben, és arra az adatforrásra mutat, amelyből csak az illesztési feltételt kielégítő sorok fognak szerepelni.

Kétértelmű külső illesztések

A LEFT JOIN és a belső ILLESZTÉS tartalmazó lekérdezést hoz létre, ha az Access nem lehet tudni, hogy melyik Bekapcsolódás elsőként végrehajtandó műveletet. Az eredmények eltérőek attól függően, hogy a bal vagy a belső illesztés végzi el először, mivel az Access hibaüzenetet jelenít meg:

Ez a hiba kijavításához módosítania kell a lekérdezést úgy, hogy egyértelmű legyen, melyik illesztést kell elsőként végrehajtani.

Külső illesztés SQL-szintaxisa

A külső illesztés az SQL-utasítás FROM záradékában adható meg a következőképpen:

FROM tábla1 [balra |} Jobb oldali] JOIN tábla2
a tábla1.mező1 összehasonlító_operátor tábla2.mező2 összehasonlítása

A LEFT JOIN és RIGHT JOIN műveletek a következő részekből állnak:

Rész

Leírás

tábla1, tábla2

Annak a két táblának a neve, amelyeknek a rekordjait egyesíti.

mező1, mező2

Az illesztendő mezők neve. Ha a mezők nem numerikusak, akkor az adattípus azonosnak kell lennie, és ugyanolyan jellegű adatokat kell tartalmazniuk. A nevük lehet különböző.

összehasonlítása

Bármely relációs összehasonlító operátor: "=", "<", ">", "<=", ">=" vagy "<>".

További információt a külső illesztés szintaxisára témakört a LEFT JOIN, RIGHT JOIN művelet.

Vissza a lap tetejére

Mindkét tábla minden sorának megjelenítése és csatlakozás csak közös értéket tartalmazó

Ha két tábla minden sorának megjelenítése és csatlakozás közös értékek alapján őket, használja a teljes külső illesztés. Az Access nem támogatja külön teljes külső illesztés, de ugyanazt az eredményt érhet el az egyesítő lekérdezés használatával. Az alábbi eljárás erre, de ha a további információt szeretne kapni az egyesítő lekérdezésekről, olvassa el a Lásd még szakasz ismerteti.

Teljes külső illesztés végrehajtása egyesítő lekérdezés használata

  1. Hozzon létre egy olyan lekérdezést, amely bal oldali külső illesztést alkalmaz a teljes külső illesztéshez használandó mezőnél.

  2. A Kezdőlap lap Nézetek csoportjában kattintson a Nézet menügombra, majd az SQL nézet parancsra.

  3. Nyomja le a CTRL + C billentyűkombinációval másolja az SQL-kódot.

  4. Törölje a pontosvesszőt a FROM záradék végéről, és nyomja le az ENTER BILLENTYŰT.

  5. Írja be a UNION kulcsszót, majd nyomja le az ENTER billentyűt.

    Megjegyzés : Ne adja meg az ALL kulcsszót, ha egyesítő lekérdezést használ a teljes külső illesztéshez.

  6. Nyomja le a CTRL + V billentyűkombinációval illessze be az SQL-kódot a 3 másolt.

  7. A beillesztett kódban módosítsa a LEFT JOIN kifejezést RIGHT JOIN kifejezésre.

  8. Törölje a pontosvesszőt a második FROM záradék, majd nyomja le az ENTER BILLENTYŰT a végén.

  9. Adjon hozzá egy WHERE záradékot, amely meghatározza, hogy a FROM záradékban szereplő első táblában (a bal oldali táblában) az illesztőmező értéke NULL.

    Tegyük fel például, hogy a FROM záradék a következő:

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

    A következő WHERE záradékot vegyen fel:

    WHERE Products.ID IS NULL

  10. Tegyen pontosvesszőt (;) a WHERE záradék végére az egyesítő lekérdezés végének jelzéséhez.

  11. A Tervezés lap Eredmények csoportjában kattintson a Futtatás gombra.

Idegen illesztések

Több illesztések eltérnek a belső és külső illesztések, annak, hogy azok nem explicit módon jelennek meg a Access. A Keresztillesztés az egyik tábla minden egyes sorára együtt minden egyes sor egy másik tábla, így úgynevezett egy vektoriális szorzat vagy egy Descartes-szorzatát tartalmazza. Bármikor, táblák nem kifejezetten kapcsolódó, amelynek lekérdezést futtat egy vektoriális szorzat az eredmény. Több illesztések általában szándékolatlan, de előfordulhatnak olyan esetek, amikor hasznosak lehetnek.

Mikor kell keresztillesztést használni?

Ha meg szeretné vizsgálni között két táblát vagy lekérdezést sorok minden lehetséges kombinációja, keresztillesztést használni. Tegyük fel például, az üzleti látványos év volt, és tervezi, hogy ügyfelei árengedmények biztosítva. Összegzi az egyes felhasználói vásárlások lekérdezés összeállítása, hozzon létre egy kis táblát, amelynek több lehetséges visszatérítési százalékértékek és kombinálása a két másik lekérdezésben, amely a Keresztillesztés hajt végre. Befejezése számos jelenít meg feltételes árengedmények ügyfelek lekérdezéssel.

Hogyan használható a keresztillesztés?

A Keresztillesztés elő a lekérdezésbe felvenni táblát vagy lekérdezést, és nem minden táblánál egy explicit illesztés létrehozása vagy a lekérdezés bármikor. Az Access minden táblára vagy lekérdezésre, amely nem közvetlenül csatlakozik másik tábla vagy lekérdezés minden második sor a találatok között a minden sor egyesíti. Fontolja meg a visszatérítési forgatókönyv a az előző bekezdés. Tegyük fel, 91 ügyfelek van, és tekintse meg öt lehetséges visszatérítési százalékértékek használni kívánt. A Keresztillesztés 455 sorok (az 5-91 termék) hoz létre.

Előfordulhat, hogy tegyük fel, mint szándékolatlan közötti illesztések nagyon nagy számú sort hozhat létre a lekérdezés eredményében. Ezenkívül az eredmények általában lenne értelme, mert nem ténylegesen szeretne egyesíteni, minden második sor minden sor, ha a kombinált sorokat, amelyek az eredmények megjelennek a legtöbb nem értelmezhető lesz. Végül szándékolatlan közötti illesztések használó lekérdezések futtatása a nagyon sok időbe telhet.

Szándékolatlan keresztillesztés Tervező nézetben
Egy szándékolatlan vektoriális csatlakozni a lekérdezést Tervező nézetben.

1. a bekarikázott mezők kell csatlakoznia a egymást.

Szándékolatlan vektoriális szorzat
A fenti kitaláltak szándékolatlan Keresztillesztés által visszaadott vektoriális szorzat.

1. a rekordok nagyon nagy számú vegye figyelembe.

A korrigált lekérdezés eredménye
A megfelelő illesztést létrehozását követően az eredmények.

1. Ne feledje, hogy a rekordok számát sokkal kisebb.

Vissza a lap tetejére

Bekapcsolódás a táblázatok a mezőértékekre megadott egyenlőtlenségi feltételek alapján

Az illesztéseknek nem feltétlenül kell az illesztett mezők egyenlőségén alapulniuk. Bármilyen összehasonlító operátorral felépíthető az illesztés, így például a nagyobb (>), a kisebb (<) és a nem egyenlő (<>) relációval is. Azokat az illesztéseket, amelyek nem egyenlőségen alapulnak, egyenlőtlenségi feltételen alapuló illesztésnek nevezzük.

Ha két adatforrás sorait olyan mezőértékek alapján szeretné kombinálni, amelyek nem egyenlők, akkor egyenlőtlenségi feltételen alapuló illesztést kell használnia. Az egyenlőtlenségi illesztések jellemzően a nagyobb (>), kisebb (<), nagyobb vagy egyenlő (>=), illetve kisebb vagy egyenlő (<=) összehasonlító operátorra épülnek. A nem egyenlő (<>) operátorral létrehozott egyenlőtlenségi illesztések hasonlóan nagyszámú sort adhatnak vissza, mint a keresztillesztések, és az eredmény értelmezése is nehéz lehet.

Hogyan használható az egyenlőtlenségi feltételen alapuló illesztés?

Egyenlőtlenségi feltételen alapuló illesztés nem támogatottak a Tervező nézetben. Ha szeretne használni őket, az SQL nézet használatával kell megtenni. Azonban lehet illesztés létrehozása Tervező nézetben, az SQL nézet váltani, keresse meg a egyenlő (=) összehasonlító operátort, és miként módosíthatja, hogy az operátor szeretné használni. Miután ezt megtette, akkor is csak nyissa meg a lekérdezést Tervező nézetben újra, első módosítása vissza az összehasonlító operátor (=) egyenlő SQL nézetben.

Illesztés törlése

Ha az Access olyan illesztést alakított ki automatikusan, amelyre nincs szükség, vagy Ön hozott létre hibás illesztést  – például nem egyező adattípusú mezőket próbált meg illeszteni , akkor törölheti.

  1. Kattintson a lekérdezéstervező rácson az eltávolítani kívánt illesztésre.

  2. Nyomja le a törlése.

-vagy-

  • A lekérdezés tervezőrácsában kattintson a jobb gombbal az eltávolítani kívánt illesztés, és kattintson a Törlésgombra.

Vissza a lap tetejére

Megjegyzés : Gépi fordítás jognyilatkozata: Ez a cikk számítógép által, emberi közreműködés nélkül lett lefordítva. A Microsoft ezeket a gépi fordításokat azért nyújtja, hogy az angol nyelvet nem beszélők minél több tartalomhoz tudjanak hozzáférni a Microsoft termékeivel, szolgáltatásaival és technológiáival kapcsolatban. A gépi fordítás miatt előfordulhat, hogy a szöveg szóhasználati, szintaktikai vagy helyesírási hibákat tartalmaz.

Lásd még

Rekordok egy táblába a hozzáfűző lekérdezés segítségével

eredményének több választó lekérdezések egyesítő lekérdezés használatával

Több táblán alapuló lekérdezés létrehozása

Létrehozása, szerkesztése és törlése a kapcsolat

Ismeretek bővítése
Oktatóanyagok megismerése
Új szolgáltatások listájának lekérése
Részvétel az Office Insider programban

Hasznos volt az információ?

Köszönjük a visszajelzését!

Köszönjük visszajelzését. Jobbnak látjuk, ha az Office egyik támogatási szakemberéhez irányítjuk.

×