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

Megjegyzés: Szeretnénk, ha minél gyorsabban hozzáférhetne a saját nyelvén íródott súgótartalmakhoz. Ez az oldal gépi fordítással lett lefordítva, ezért nyelvtani hibákat és pontatlanságokat tartalmazhat. A célunk az, hogy ezek a tartalmak felhasználóink hasznára váljanak. Kérjük, hogy a lap alján írja meg, hogy hasznos volt-e az Ön számára az itt található információ. Az eredeti angol nyelvű cikket itt találja.

Ha egy Access-lekérdezésben több adatforrást is tartalmaz, az illesztések segítségével korlátozhatja a megjeleníteni kívánt rekordokat, az adatforrások egymáshoz való kapcsolódása alapján. Az illesztések segítségével mindkét adatforrásból egyesítheti a rekordokat, így a forrásokból származó rekordok mindegyike egy rekorddal válik a lekérdezés eredményében.

Ez a cikk ismerteti a különböző típusú illesztéseket, és bemutatja, hogy miként használhatja őket egy lekérdezésben. Alapértelmezés szerint a program automatikusan létrehozza a bekapcsolódást, ha a lekérdezésben használt két adatforrás között már létezik kapcsolat. Az illesztés akkor is létrejön, ha vannak olyan mezők, amelyek világosan megegyeznek egymással. Törölheti az automatikusan létrehozott illesztéseket. Ez a cikk alapvető információkat nyújt a táblázatos kapcsolatokról, például a létrehozás módjáról.

Megjegyzés: A lekérdezésekhez ugyanúgy kapcsolódhat, mint a táblákhoz való csatlakozáshoz, és mindkettőhöz csatlakozhat.

A témakör tartalma

Áttekintés

Az illesztések típusai

Azok a sorok megjelenítése, amelyek közös értéke létezik az illesztett táblákban

Az összes sor megjelenítése az egyik táblából, valamint a másik tábla megfelelő sorainak megjelenítése

Két tábla összes sorát jeleníti meg, és beilleszti őket, ahol létezik egy közös érték.

Kereszt illesztések

Táblázatokhoz való csatlakozás mezőértékek egyenlőtlen értéke alapján

Illesztés törlése

Áttekintés

Az adatbázis olyan adattáblák gyűjteménye, amelyek logikai kapcsolatot tartanak egymással. A táblákat a közösen használt mezők alapján összeköti. A táblázatok tetszőleges számú kapcsolat része lehet, de minden kapcsolatnak pontosan két táblája van. Egy lekérdezésben a kapcsolatot egy illesztés jelképezi.

Amikor táblákat vesz fel egy lekérdezésbe, a Access olyan illesztéseket hoz létre, amelyek a táblák között definiált kapcsolatokon alapulnak. Az illesztéseket manuálisan is létrehozhatja a lekérdezésekben, még akkor is, ha nem a már definiált kapcsolatokat képviselik. Ha egy lekérdezéshez adatforrásként más lekérdezéseket (a táblázatok helyett vagy mellett) használ, akkor a lekérdezések közötti illesztéseket, illetve az adatforrásként használt táblákat is létrehozhatja.

Az illesztések ugyanúgy viselkednek, mint a lekérdezési feltételek abban az formában, hogy az adatkezelési műveletekhez meg kell egyezniük. A feltételekkel ellentétben az illesztések azt is megadhatják, hogy minden olyan sor, amely megfelel a bekapcsolódási feltételeknek, a rekordhalmazban egyetlen sor formájában fog szerepelni.

Az illesztéseknek négy alapvető típusa van: belső illesztések, külső illesztések, kereszt-összeillesztések és egyenlőtlen illesztések. Ez a cikk bemutatja, hogy milyen típusú illesztések használhatók, miért használja az egyes típusokat, és hogyan hozhat létre illesztéseket.

Az illesztések a táblákhoz kapcsolódó kapcsolatok lekérdezését jelentik: annak jelzése, hogy a két forrásból származó adatok hogyan kombinálhatók a közösen használt adatértékek alapján. Az alábbi ábra szemlélteti, hogy miként nyithatja meg a bekapcsolódást a lekérdezés Tervező nézetében, és megnyithatja a csatlakozás tulajdonságait a párbeszédpanelen:

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

Ez a táblázat a táblák között a bekapcsolódást jelenti. Kattintson duplán egy illesztésre az illesztési tulajdonságok párbeszédpanel megnyitásához (ábrázolt), és tekintse át vagy módosítsa a bekapcsolódást.

Az illesztések olykor irányíthatók. A párbeszédpanel ezen területe megmutatja, hogy melyik tábla az illesztésben, és mely mezőket használják a táblákhoz való csatlakozáshoz.

Ez a terület határozza meg az illesztés típusát: az 1-es beállítás egy belső illesztés, a második a bal oldali külső illesztés, a 3-as pedig a jobb oldali külső illesztés.

Mindkét tábla mezői használhatók, és az adott tevékenységre vonatkozó adatok mindegyike látható. Egy belső illesztésben más adatot nem tartalmaz a program. Egy külső illesztésben az egyik táblából független rekordok is szerepelnek a lekérdezés eredményei között.

Vissza a lap tetejére

Az illesztések típusai

Az illesztéseknek négy alapvető típusa van: belső illesztések, külső illesztések, kereszt-összeillesztések és egyenlőtlen illesztések. A Cross illesztés és az egyenlőtlen illesztés speciális illesztési típus, és ritkán használatos, azonban tudnia kell, hogy az illesztések teljes mértékben megértik az illesztések működését.

Belső illesztések: csak a két tábla kapcsolódó adatainak együttese

A belső illesztés olyan, amelyben az Access csak a táblákból származó adatokból áll, ha a kapcsolódó tábla megfelelő adatokkal rendelkezik, és fordítva. Az idő nagy részében belső illesztéseket fog használni. Ha bekapcsolódást hoz létre, és nem adja meg, hogy milyen típusú bekapcsolódást szeretne, az Access a belső illesztést feltételezi. A belső illesztések akkor hasznosak, ha lehetővé teszik két forrásból származó adatok egyesítését a megosztott értékek alapján – így csak akkor láthatja az adatokat, ha egy teljes kép áll rendelkezésre.

Külső illesztések: az összes kapcsolódó adatot összevonta, valamint az egyik tábla fennmaradó rekordjait.

A külső illesztés olyan, mint egy belső illesztés, de a fennmaradó sorokat hozzáadja az egyik táblázatból. A külső illesztések iránya: a bal oldali külső illesztés tartalmazza a bal oldali tábla összes rekordját – a csatlakozás első táblázata – és a jobb oldali külső illesztés a jobb oldali tábla összes rekordját tartalmazza – az illesztés második táblázatát.

Teljes külső illesztés: az összes adatot, ha lehetséges, kombinálva

Bizonyos rendszerekben a külső illesztések a két tábla összes sorát magukban foglalhatják, ha azok megfelelnek a soroknak. Ezt nevezzük teljes külső illesztésnek, és az Access nem támogatja kifejezetten a használatát. A kereszthez való csatlakozás és a feltételek azonban ugyanazt az eredmény elérésére használhatók.

Cross joins: all the Data, minden lehetséges módon kombinálva

Az idő nagy részében egy kereszt-illesztés a két tábla lekérdezéshez való hozzáadásának egyik mellékhatása, majd a felejtés a csatlakozáshoz. Az Access értelmezi ezt azt jelenti, hogy egy táblából minden rekordot összesít a másik tábla minden rekordjával, a rekordok minden lehetséges kombinációját. Mivel egyetlen adatot sem lehet kombinálni, az ilyen típusú csatlakozás ritkán eredményez hasznos eredményeket. Vannak azonban olyan esetek, amikor a Cross-illesztés csak a szükséges.

Egyenlőtlen illesztések: a normál illesztéshez hasonlóan, de a sorok egyesítéséhez eltérő összehasonlítást alkalmaz.

Az egyenlőtlen illesztések az egyenlőségjel (=) helyett az értékek összehasonlítására szolgálnak, és meghatározzák, hogy az adatok miként használhatók-e össze. Az egyenlőtlen illesztések nem támogatottak, de a kereszthez való csatlakozást és a feltételeket egyaránt használhatja ugyanezen eredmény eléréséhez.

Azok a sorok megjelenítése, amelyek közös értéke létezik az illesztett táblákban

Ha csak azokat a sorokat szeretné megjeleníteni, amelyekben az illesztett mezőben egyező értékek szerepelnek, akkor belső illesztést kell használnia. Az Access automatikusan hozza létre a belső illesztéseket.

A belső illesztés az illesztések legáltalánosabb típusa. A lekérdezés közli, hogy az illesztett táblákból származó sorok a másik tábla sorainak felelnek meg az illesztett mezőkben lévő adatok alapján. Ha egy belső illesztéssel rendelkező lekérdezést futtat, csak azokat a sorokat fogja szerepeltetni a lekérdezés műveleteiben, amelyekben az illesztett táblák mindegyikében közös érték található.

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

A legtöbb esetben nem kell semmit sem tennie, ha belső illesztést szeretne használni. Ha a lekérdezéshez hozzáadott táblák már rendelkeznek kapcsolattal, az Access automatikusan belső illesztést hoz létre a kapcsolódó táblák mindegyike között, amikor hozzáadja a táblákat. Ha a hivatkozási integritás aktív, az Access az illesztés vonala fölött egy „1” felirattal jelzi, hogy a tábla az egy-a-többhöz kapcsolat kapcsolat „egy” oldalához tartozik, és egy végtelen jellel () azt, hogy a tábla a „több” oldalhoz tartozik.

Akkor is, ha még nem hozott létre kapcsolatokat, az Access automatikusan létrehozza a belső illesztéseket, ha két táblát vesz fel egy lekérdezésbe, és ezek mindegyikéhez tartozik egy vagy több, egymáshoz hasonló adattípusú mező, és az egyik csatlakozási mező egy elsődleges kulcs. Ebben az esetben az "egy" és a "sok" szimbólum nem jelenik meg, mert a hivatkozási integritás nincs kikényszerítve.

Ha lekérdezéseket vesz fel a lekérdezésbe, és nem hoz létre kapcsolatokat a lekérdezések között, az Access nem hoz létre automatikusan belső illesztéseket a lekérdezések, illetve a lekérdezések és a táblák között. Ezeket általában létre kell hoznia. Belső illesztést úgy hozhat létre, hogy az egyik adatforrásból egy mezőt egy másik adatforrás mezőjére húz. Az Access a két mezőt összekapcsoló vonallal jelzi, hogy az illesztés létrejött.

Belső illesztés SQL-szintaxisa

A belső illesztések az SQL-ben a FROM záradékban adhatók meg, az alábbiak szerint:

FROM tábla1 INNER JOIN tábla2 ON tábla1.mező1 a 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 egyesítendő mezők neve. Ha nem numerikusak, a mezőknek azonos adattípus kell lenniük, és ugyanolyan típusú adatokat kell tartalmazniuk, de nem kell megegyezniük.

összehasonlítás

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

A belső illesztés szintaxisával kapcsolatos további tudnivalók a belső illesztési műveletcímű témakörben olvashatók.

Vissza a lap tetejére

Az összes sor megjelenítése az egyik táblából, valamint a másik tábla megfelelő sorainak megjelenítése

A külső illesztések közlik a lekérdezéssel, hogy noha a beillesztett két oldal egyes sorai pontosan egyeznek meg, a lekérdezésnek tartalmaznia kell az egyik tábla összes sorát, valamint a másik tábla azon sorait is, amelyek az illesztés mindkét oldalán azonos értéket osztanak meg.

A külső illesztések lehetnek külső illesztések, vagy jobb oldali külső illesztések is. A bal oldali külső illesztésben a lekérdezés az SQL-utasítás első táblájából kiegészül az összes sort, és csak azokat a sorokat tartalmazza, amelyek a két tábla esetében azonos értékeket tartalmaznak. A jobb oldali külső illesztésben a lekérdezés az SQL-utasításban szereplő második tábla összes sorát tartalmazza, és csak azokat a sorokat tartalmazza, amelyek a másik tábla második táblájából származnak.

Megjegyzés: Egyszerűen megtudhatja, hogy melyik tábla a bal oldali tábla vagy a jobb oldali tábla egy adott illesztésben: kattintson duplán a bekapcsolódás elemre, majd az illesztési tulajdonságok párbeszédpanelen. Másik lehetőségként SQL nézetre válthat, majd ellenőrizheti a FROM záradékot.

Mivel a külső illesztés egyik oldalán lévő sorokban nem lesz megfelelő sor a másik táblában, a lekérdezés eredményében a többi táblából visszaadott mezők némelyike üres lesz, ha a sorok nem egyeznek meg.

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

Külső illesztést a meglévő belső illesztés módosításával hozhat létre. Ha nincs belső illesztés, hozzon létre egyet, majd változtassa meg külső illesztésre.

Belső illesztés módosítása külső illesztéshez

  1. A lekérdezés Tervező nézetében 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 jegyezze fel a 2 és a 3-asbeállítás melletti lehetőségeket.

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

  4. Az Access ekkor megjeleníti a bekapcsolódást, és megjeleníti az adatforrásból kiinduló nyilat, ahol az adatforráshoz tartozó összes sor szerepelni fog az adatforrásban, ahol csak a bekapcsolódási feltételnek megfelelő sorok jelennek meg.

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

Ha egy olyan lekérdezést hoz létre, amely egy bal oldali beKAPCSOLÓDÁSt és egy belső ILLESZTÉSt tartalmaz, előfordulhat, hogy az Access nem tudja megállapítani, hogy melyik csatlakozást kell elsőként végrehajtani. Mivel a találatok eltérhetnek attól függően, hogy a bal oldali illesztést vagy a belső illesztést először végrehajtja, az Access a következő hibaüzenetet jeleníti meg:

A hiba kijavításához módosítania kell a lekérdezést úgy, hogy egyértelmű legyen, melyik illesztést kell először elvégeznie.

Külső illesztés SQL-szintaxisa

A külső illesztések az SQL-ben a FROM záradékban adhatók meg, az alább látható módon:

FROM tábla1 [left | Right] csatlakozás tábla2
a tábla1. mező1 összehasonlítása tábla2. mező2

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 egyesítendő mezők neve. A mezőknek azonos adattípus kell lenniük, és ugyanazt a típusú adatot kell tartalmazniuk, de nem kell megegyezniük.

összehasonlítás

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

A külső illesztés szintaxisáról további információt a bal oldali csatlakozás, a jobb kapcsolódási műveletekcímű témakörben találhat.

Vissza a lap tetejére

Két tábla összes sorát jeleníti meg, és beilleszti őket, ahol létezik egy közös érték.

Ha a két tábla minden sorát meg szeretné jeleníteni, és közös értékek alapján kívánja őket beilleszteni, teljes külső illesztést kell használnia. Az Access nem támogatja explicit módon a teljes külső illesztéseket, de ugyanezt a hatásokat egyesítő lekérdezések segítségével is elérheti. A következő lépésekkel megtudhatja, hogy miként teheti ezt meg, de ha további információra van szüksége az egyesítő lekérdezésekről, tanulmányozza a lásd még című szakaszt.

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

  1. Hozzon létre egy olyan lekérdezést, amely bal oldali külső illesztést tartalmaz a teljes külső illesztéshez használni kívánt mezőhöz.

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

  3. A CTRL + C billentyűkombinációt lenyomva másolja az SQL-kódot a vágólapra.

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

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

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

  6. A CTRL + V billentyűkombinációt lenyomva illessze be a 3. lépésben másolt SQL-kódot.

  7. A beillesztett kódban módosítsa a balra illesztést a jobb illesztéshez.

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

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

    Ha például 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 adja hozzá:

    WHERE Products.ID IS NULL

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

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

Kereszt illesztések

A Cross illesztések a belső és a külső illesztéstől eltérően különböznek egymástól abban, hogy a Access nem jelennek meg explicit módon. Egy keresztben az egyik tábla minden egyes sorát egy másik tábla minden egyes sorával kombinálja, ami azt eredményezi, hogy mi az a keresztmetszet vagy a Descartes-féle szorzat. Ha egy olyan lekérdezést futtat, amelyen nincsenek explicit módon beillesztett táblázatok, az eredmény. A Cross illesztés általában nem szándékos, de vannak olyan esetek, ahol hasznos lehet.

Miért érdemes Cross-illesztést használni?

Ha a sorok minden lehetséges kombinációját meg szeretné vizsgálni két tábla vagy lekérdezés között, használjon kereszt-illesztést. Tegyük fel például, hogy a vállalkozása látványos éves volt, és Ön az árengedmények megfizetését fontolgatja ügyfelei számára. Létrehozhat egy olyan lekérdezést, amely összesíti az egyes ügyfelek vásárlásait, létrehozhat egy kisméretű, több engedményt tartalmazó táblázatot, és kombinálja a kettőt egy másik, Cross-illesztést végrehajtó lekérdezésben. Egy lekérdezéssel végződik, amely az egyes ügyfelekhez tartozó feltételezett árengedmények halmazát jeleníti meg.

Hogyan használhatok Cross-illesztést?

Ha a lekérdezésbe táblákat vagy lekérdezéseket szeretne szerepeltetni, A program minden alkalommal létrehoz egy kereszt-illesztést, és nem hoz létre legalább egy explicit illesztést az egyes táblákhoz vagy lekérdezésekhez. Az Access minden sort kombinál minden olyan táblából vagy lekérdezésből, amely a találatok minden sorának külön-külön sem csatlakozik a többi táblához vagy lekérdezéshez. Tekintse át az engedmény forgatókönyvét az előző bekezdésből. Tegyük fel, hogy 91-ügyfele van, és szeretné megkeresni az öt lehetséges engedmény százalékos értékét. A kereszt-illesztés 455-sort hoz létre (91 és 5 szorzata).

Elképzelhető, hogy a véletlen kereszt-illesztések nagy számú sort hozhatnak létre a lekérdezés eredményei között. Ráadásul ezek az eredmények általában értelmetlenek, mert ha valójában nem kívánja minden sort kombinálni minden második sorral, az eredményben megjelenő egyesített sorok többsége nem fog kinézni. Végül a nem szándékos keresztet használó lekérdezések igen hosszú időt vehetnek igénybe.

Szándékolatlan keresztillesztés Tervező nézetben

1. a kikarikázott mezőket össze kell kapcsolni egymással.

Szándékolatlan vektoriális szorzat

1. Jegyezze fel a rekordok nagyon nagy számát.

A korrigált lekérdezés eredménye

1. Ne feledje, hogy a rekordok száma jóval kisebb.

Vissza a lap tetejére

Táblázatokhoz való csatlakozás mezőértékek egyenlőtlen értéke alapján

Az illesztéseknek nem kell az illesztett mezők egyenértékűségén alapulnia. A bekapcsolódás bármely összehasonlító operátoron alapulhat, például nagyobb (>), kisebb mint (<), vagy nem egyenlő (<>). Az egyenértékűségen alapuló illesztéseket egyenlőtlen illesztésnek nevezzük.

Ha a nem egyenlő mezőértékek alapján két adatforrás sorait szeretné kombinálni, az egyenlőtlen illesztést használja. A egyenlőtlen illesztések általában a (>) (<) vagy az egyenlő (> =) vagy az egyenlő (< =) összehasonlító operátorok alapján vagy azzal egyenlő mértékben épülnek. A nem egyenlő (<>) operátoron alapuló egyenlőtlen illesztések szinte annyi sort adhatnak vissza, mint a kereszthivatkozások, és a találatok nehezen értelmezhetők.

Hogyan használhatok egyenlőtlen illesztést?

A Tervező nézet nem támogatja az egyenlőtlen illesztéseket. Ha használni szeretné őket, az SQL nézet használatával kell elvégeznie. Létrehozhat azonban egy bekapcsolódást Tervező nézetben, átválthat SQL nézetre, megkeresheti az egyenlő (=) összehasonlító operátort, és megváltoztathatja a használni kívánt operátornak. Ezt követően a lekérdezést csak akkor nyithatja meg Tervező nézetben, ha először módosítja az összehasonlító operátort az egyenlő (=) értékRE az SQL nézetben.

Illesztés törlése

Ha az Access automatikusan létrehoz egy csatlakozást, amelyet nem szeretne használni, vagy ha véletlenül hoz létre bekapcsolódást – például két, egymástól eltérő adattípusú mező között –, akkor törölheti a bekapcsolódást.

  1. Kattintson a lekérdezéstervező rácson arra az illesztésre, amelyet el szeretne távolítani.

  2. Nyomja le a deletebillentyűt.

vagy

  • Kattintson a jobb gombbal a lekérdezéstervező rácson arra az illesztésre, amelyet el szeretne távolítani, majd kattintson a Törlésparancsra.

Vissza a lap tetejére

Lásd még

Rekordok felvétele táblába hozzáfűző lekérdezések segítségével

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

Lekérdezés létrehozása több tábla alapján

Kapcsolat létrehozása, szerkesztése és törlése

Office-jártasság 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.

×