Verknüpfen von Tabellen und Abfragen

Verknüpfen von Tabellen und Abfragen

Wichtig :  Dieser Artikel wurde maschinell übersetzt. Bitte beachten Sie den Haftungsausschluss. Die englische Version des Artikels ist als Referenz hier verfügbar: hier.

Wenn Sie mehrere Datenquellen in einer Access-Abfrage einschließen, verwenden Sie Verknüpfungen auf um die Datensätze zu beschränken, die angezeigt werden sollen, basierend auf wie die Datenquellen miteinander verwandt sind. Verwenden Sie auch Verknüpfungen zum Kombinieren von Datensätze beider Datenquellen, sodass jedes Paar von Datensätzen aus den Quellen einen Eintrag in den Abfrageergebnissen angezeigt wird.

In diesem Artikel werden die verschiedenartigen Verknüpfungen und wird gezeigt, wie sie in einer Abfrage zu verwenden. Standardmäßig wird automatisch eine Verknüpfung erstellt, wenn bereits eine Beziehung zwischen zwei Datenquellen, die in einer Abfrage verwendet, vorhanden ist. Eine Verknüpfung wird auch erstellt, wenn Sie Felder, die klar einander entsprechen. Sie können eine automatisch erstellte Verknüpfung löschen. Dieser Artikel enthält grundlegenden Informationen zu tabellenbeziehungen, und wie Sie einen erstellen.

Hinweis : Sie können auf die gleiche Weise Abfragen teilnehmen, verknüpfen Sie Tabellen, und können auch beide teilnehmen.

Inhalt dieses Artikels

(Übersicht)

Anzeigen von Zeilen ein gemeinsamer Wert in beiden verknüpften Tabellen

Zeigen Sie aller Zeilen aus einer Tabelle sowie der entsprechenden Zeilen aus der anderen Tabelle an

Zeigen Sie aller Zeilen aus beiden Tabellen an und teilnehmen vorhanden ist, die ein gemeinsamer Wert an

Cross joins

Teilnehmen an Tabellen basierend auf der Ungleichheit von Feldwerten

Löschen einer Verknüpfung

Übersicht

Eine Datenbank ist eine Auflistung von Tabellen mit den Daten, die logische Beziehung zueinander stehen tragen. Verwenden Sie Beziehungen Verbindung Tabellen, indem Sie Felder, die sie gemeinsam haben. Eine Tabelle kann Teil einer beliebigen Anzahl von Beziehungen, jedoch jede Beziehung enthält immer genau zwei Tabellen. Eine Beziehung wird in einer Abfrage indem Sie eine Verknüpfung dargestellt.

Wenn Sie Tabellen zu einer Abfrage hinzufügen, erstellt Access Verknüpfungen, die auf Beziehungen basieren, die zwischen den Tabellen definiert wurden. Sie können manuell Verknüpfungen in Abfragen erstellen, auch wenn sie nicht Beziehungen darstellen, die bereits definiert wurden. Wenn Sie andere Abfragen (anstelle von oder zusätzlich zu Tabellen) als Datenquellen für eine Abfrage verwenden, können Sie Verknüpfungen zwischen der Quellabfragen und zwischen diesen Abfragen und keine Tabellen, die Sie als Datenquellen verwenden erstellen.

Verknüpfungen verhalten sich insofern wie Abfragekriterien, als dass sie Regeln festlegen, denen die Daten entsprechen müssen, um in die Abfragevorgänge integriert zu werden. Im Gegensatz zu Kriterien geben Verknüpfungen jedoch außerdem an, dass ein Zeilenpaar, das die Verknüpfungsbedingungen erfüllt, im Datensatz zu einer Zeile zusammengefügt wird.

Es gibt vier grundlegende Verknüpfungsarten: innere Verknüpfungen, äußere Verknüpfungen, Kreuzverknüpfungen und ungleiche Verknüpfungen. In diesem Artikel werden die einzelnen Arten und deren Verwendungszweck beschrieben, und es wird das Erstellen dieser Verknüpfungen erläutert.

Seitenanfang

Anzeigen von Zeilen ein gemeinsamer Wert in beiden verknüpften Tabellen

Wenn Sie nur die Zeilen anzeigen möchten, die im verknüpften Feld eine Übereinstimmung aufweisen, verwenden Sie eine innere Verknüpfung. Access erstellt innere Verknüpfungen automatisch.

Innere Verknüpfungen werden am häufigsten verwendet. Sie teilen einer Abfrage mit, dass Zeilen aus einer der verknüpften Tabellen Zeilen in der anderen Tabelle basierend auf den Daten in den verknüpften Feldern entsprechen. Wenn eine Abfrage mit einer inneren Verknüpfung ausgeführt wird, werden nur die Zeilen in die Abfragevorgänge eingeschlossen, in denen ein Wert vorhanden ist, den beide verknüpfte Tabellen gemeinsam aufweisen.

Verwendung einer inneren Verknüpfung

Meist ist keine Aktion erforderlich, um eine innere Verknüpfung zu verwenden. Wenn die Tabellen, die Sie zu einer Abfrage hinzufügen, bereits Beziehungen aufweisen, erstellt Access beim Hinzufügen der Tabellen automatisch eine innere Verknüpfung zwischen den beiden über eine Beziehung verknüpften Tabellen. Wenn die Referenzielle Integrität aktiviert ist, wird in Access oberhalb der Verknüpfungslinie eine "1" zur Kennzeichnung der Tabelle auf der 1-Seite einer 1:n-Beziehung und das Symbol für Unendlichkeit () zur Kennzeichnung der Tabelle auf der n-Seite angezeigt.

Auch wenn Sie noch keine Beziehungen erstellt haben, werden von Access beim Hinzufügen zweier Tabellen zu einer Abfrage, die beide ein Feld mit gleichem oder kompatiblem Datentyp enthalten und in denen eines der Verknüpfungsfelder ein Primärschlüssel ist, automatisch innere Verknüpfungen erstellt. In diesem Fall werden die "1"- und die "n"-Seite jedoch nicht gekennzeichnet, da keine referenzielle Integrität gefordert ist.

Wenn Sie der Abfrage Abfragen hinzufügen, und keine Beziehungen zwischen diesen Abfragen erstellt haben, werden nicht automatisch innere Verknüpfungen zwischen diesen Abfragen oder zwischen Abfragen und Tabellen von Access erstellt. Sie müssen sie im Allgemeinen selbst erstellen. Sie erstellen eine innere Verknüpfung, indem Sie ein Feld aus einer Datenquelle in ein Feld in der anderen Datenquelle ziehen. In Access wird eine Linie zwischen den beiden Feldern angezeigt, um zu zeigen, dass eine Verknüpfung erstellt worden ist.

SQL-Syntax für eine innere Verknüpfung

Innere Verknüpfungen werden in SQL in der FROM-Klausel, wie im Folgenden beschrieben, angegeben:

AUS table1 innere Verknüpfung Tabelle2 für Tabelle1. Feld1 vergleichen Tabelle2. Feld2

Die INNER JOIN-Anweisung besteht aus den folgenden Teilen:

Teil

Beschreibung

Tabelle1, Tabelle2

Die Namen der Tabellen, aus denen Datensätze zusammengefasst werden.

Feld1, Feld2

Die Namen der Felder, die miteinander verknüpft werden. Falls es sich nicht um numerische Felder handelt, müssen die Felder denselben Datentyp aufweisen und dieselben Daten enthalten. Es ist jedoch nicht erforderlich, dass sie denselben Namen haben.

Vergleichen

Ein beliebiger relationaler Vergleichsoperator: "=," "<," ">," "<=," ">=," oder "<>".

Weitere Informationen zur Syntax innerer Verknüpfungen finden Sie unter dem Thema INNER JOIN-Vorgang.

Seitenanfang

Zeigen Sie aller Zeilen aus einer Tabelle sowie der entsprechenden Zeilen aus der anderen Tabelle an

Äußere Verknüpfungen teilen einer Abfrage mit, dass die Abfrage trotz genauer Entsprechung einiger Zeilen auf beiden Seiten der Verknüpfung alle Zeilen aus einer Tabelle und außerdem die Zeilen aus der anderen Tabelle enthalten muss, die einen gemeinsamen Wert auf beiden Seiten der Verknüpfung aufweisen.

Äußere Verknüpfungen können linke äußere Verknüpfungen oder rechte äußere Verknüpfungen sein. In einer linken äußeren Verknüpfung enthält die Abfrage alle Zeilen aus der ersten Tabelle in der SQL-Anweisung FROM-Klausel und nur jene Zeilen aus anderen Tabellen, in denen das Verknüpfungsfeld für beide Tabellen geltende Werte enthält. In einer rechten äußeren Verknüpfung enthält die Abfrage alle Zeilen aus der zweiten Tabelle in der SQL-Anweisung FROM-Klausel und nur jene Zeilen aus anderen Tabellen, in denen das Verknüpfungsfeld Werte enthält, die für beide Tabellen gelten.

Hinweis : Es lässt sich problemlos feststellen, welche Tabelle die linke oder rechte Tabelle in einer gegebenen Verknüpfung ist, indem Sie auf die Verknüpfung doppelklicken und dann im Dialogfeld Verknüpfungseigenschaften nachsehen. Sie können auch zur SQL-Ansicht wechseln und die FROM-Klausel untersuchen.

Da einige der Zeilen auf einer Seite einer äußeren Verknüpfung keine entsprechenden Zeilen aus der anderen Tabelle aufweisen, sind einige der Felder, die in den Abfrageergebnissen aus dieser anderen Tabelle zurückgegeben werden, bei nicht übereinstimmenden Zeilen leer.

Verwendung einer äußeren Verknüpfung

Sie erstellen eine äußere Verknüpfung, indem Sie eine vorhandene innere Verknüpfung ändern. Wenn keine innere Verknüpfung vorhanden ist, müssen Sie eine erstellen und in eine äußere Verknüpfung umwandeln.

Ändern einer inneren Verknüpfung in eine äußere Verknüpfung

  1. Doppelklicken Sie in der Entwurfsansicht der Abfrage auf die Verknüpfung, die Sie ändern möchten.

    Das Dialogfeld Verknüpfungseigenschaften wird angezeigt.

  2. Beachten Sie im Dialogfeld Verknüpfungseigenschaften die Auswahlmöglichkeiten neben Option 2 und Option 3.

  3. Klicken Sie auf die gewünschte Option, und klicken Sie dann auf OK.

  4. In Access werden die Verknüpfung sowie ein Pfeil angezeigt, der von der Datenquelle, in der alle Zeilen enthalten sind, auf die Datenquelle zeigt, in der nur die Zeilen enthalten sind, die die Verknüpfungsbedingung erfüllen.

Unklare äußere Verknüpfungen

Wenn Sie eine Abfrage, die eine LEFT JOIN- und eine innere Verknüpfung enthält erstellen, Access möglicherweise nicht, welche join-Vorgang zuerst ausgeführt werden. Da die Ergebnisse unterschiedlich sind, je nachdem, ob die linke Verknüpfung oder innere Verknüpfung zuerst ausgeführt wird, zeigt Access eine Fehlermeldung angezeigt:

Um diesen Fehler zu beheben, müssen Sie die Abfrage ändern, dass klar ist, welche Verknüpfung zuerst ausgeführt.

SQL-Syntax für eine äußere Verknüpfung

Äußere Verknüpfungen werden in SQL in der FROM-Klausel, wie im Folgenden beschrieben, angegeben:

FROM Tabelle1 [links | Rechte] JOIN Tabelle2
auf table1.field1 vergleichen table2.field2

Die LEFT JOIN- und RIGHT JOIN-Vorgänge bestehen aus den folgenden Teilen:

Teil

Beschreibung

Tabelle1, Tabelle2

Die Namen der Tabellen, aus denen Datensätze zusammengefasst werden.

Feld1, Feld2

Die Namen der Felder, die miteinander verknüpft werden. Die Felder müssen denselben Datentyp aufweisen und dieselben Daten enthalten. Es ist jedoch nicht erforderlich, dass sie denselben Namen haben.

Vergleichen

Ein beliebiger relationaler Vergleichsoperator: "=," "<," ">," "<=," ">=," oder "<>".

Weitere Informationen zur Syntax äußerer Verknüpfungen finden Sie unter dem Thema LEFT JOIN, RIGHT JOIN-Vorgang.

Seitenanfang

Zeigen Sie aller Zeilen aus beiden Tabellen an und teilnehmen vorhanden ist, die ein gemeinsamer Wert an

Beim Anzeigen aller Zeilen aus beiden Tabellen und verknüpfen, basierend auf allgemeine Werte werden soll, verwenden Sie eine vollständige äußere Verknüpfung. Access unterstützt nicht explizit vollen äußere Verknüpfungen, aber Sie können die gleiche Wirkung erzielen, indem Sie mithilfe einer Union-Abfrage. Das folgende Verfahren erläutert, wie Sie dies tun, aber Sie bei Bedarf weitere Informationen zu union-Abfragen finden im Abschnitt Siehe auch.

So verwenden Sie eine Union-Abfrage zur Durchführung einer vollen äußeren Verknüpfung

  1. Erstellen Sie eine Abfrage, bei der eine linke äußere Verknüpfung für ein Feld definiert wurde, das Sie für eine volle äußere Verknüpfung verwenden möchten.

  2. Klicken Sie auf der Registerkarte Start in der Gruppe Sichten auf Ansicht und dann auf SQL-Ansicht.

  3. Drücken Sie zum Kopieren des SQL-Codes STRG+C.

  4. Löschen Sie das Semikolon am Ende der FROM-Klausel, und drücken Sie dann die EINGABETASTE.

  5. Geben Sie UNION ein, und drücken Sie dann die EINGABETASTE.

    Hinweis : Verwenden Sie in Verbindung mit einer Union-Abfrage zur Durchführung einer vollen äußeren Verknüpfung nicht das Schlüsselwort ALL.

  6. Drücken Sie STRG+V, um den in Schritt 3 kopierten SQL-Code einzufügen.

  7. Ändern Sie in dem eingefügten Code LEFT JOIN in RIGHT JOIN.

  8. Löschen Sie das Semikolon am Ende der zweiten FROM-Klausel, und drücken Sie dann die EINGABETASTE.

  9. Fügen Sie eine WHERE-Klausel hinzu, mit der angegeben wird, dass der Wert des Verknüpfungsfelds in der ersten Tabelle, die in der FROM-Klausel aufgeführt wird (der linken Tabelle), NULL ist.

    Wenn die FROM-Klausel beispielsweise wie folgt lautet:

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

    fügen Sie die folgende WHERE-Klausel hinzu:

    WHERE Products.ID IS NULL

  10. Geben Sie am Ende der WHERE-Klausel ein Semikolon (;) ein, um das Ende der Union-Abfrage anzugeben.

  11. Klicken Sie auf der Registerkarte Entwurf in der Gruppe Ergebnisse auf Ausführen.

Kreuzverknüpfungen

Cross Joins unterscheiden sich von innere und äußere Verknüpfungen, da sie nicht explizit im Access dargestellt werden. In Cross Join wird jede Zeile einer Tabelle mit jeder Zeile aus einer anderen Tabelle, die im so ein Kreuzprodukt oder kartesisches Produkt genannten resultierender kombiniert. Jedes Mal, wenn Sie eine Abfrage, die Tabellen, die nicht explizit verknüpft sind ausführen enthält, ist ein Kreuzprodukt das Ergebnis. Cross Joins werden in der Regel unbeabsichtigte, aber es gibt auch Fälle, in dem sie hilfreich sein können.

Verwendungszweck einer Kreuzverknüpfung

Wenn Sie jede mögliche Zeilenkombination zwischen zwei Tabellen oder Abfragen prüfen möchten, verwenden Sie eine Kreuzverknüpfung. Angenommen, Ihr Unternehmen hatte ein überdurchschnittlich gutes Jahr, und Sie überlegen, Ihren Kunden Rabatte zu gewähren. Sie können eine Abfrage erstellen, mit der die Bestellungen der einzelnen Kunden zusammengefasst werden, eine kleine Tabelle mit verschiedenen möglichen Rabattsätzen erstellen und beides in einer weiteren Abfrage kombinieren, die eine Kreuzverknüpfung durchführt. So entsteht eine Abfrage, die für die einzelnen Kunden hypothetische Rabatte anzeigt.

Verwendung einer Kreuzverknüpfung

Eine Kreuzverknüpfung entsteht jedes Mal, wenn Sie Tabellen oder Abfragen in eine Abfrage einschließen und nicht mindestens eine explizite Verknüpfung für jede Tabelle oder Abfrage erstellen. In Access werden die einzelnen Zeilen aus den jeweiligen Tabellen oder Abfragen kombiniert, die nicht explizit mit einer anderen Tabelle oder Abfrage verknüpft sind, mit den jeweils anderen Zeilen im Ergebnis. Betrachten Sie das Rabattszenario aus dem vorherigen Abschnitt. Angenommen, Sie haben 91 Kunden, und Sie möchten fünf mögliche Rabattsätze betrachten. Dann ergibt die Kreuzverknüpfung 455 Zeilen (das Produkt aus 91 und 5).

Wie Sie sich vielleicht vorstellen können, können unbeabsichtigte Kreuzverknüpfungen eine große Anzahl von Zeilen im Abfrageergebnis hervorbringen. Außerdem sind diese Ergebnisse im Allgemeinen sinnlos. Denn, wenn Sie nicht wirklich alle Zeilen mit den jeweils anderen Zeilen kombinieren möchten, ergeben die meisten kombinierten Zeilen, die im Ergebnis angezeigt werden, keinen Sinn. Und schließlich nimmt die Ausführung von Abfragen mit unbeabsichtigten Kreuzverknüpfungen viel Zeit in Anspruch.

Unbeabsichtigte Kreuzverknüpfung in der Entwurfsansicht einer Abfrage
Eine unbeabsichtigte Cross teilnehmen in der Entwurfsansicht der Abfrage.

1. Die eingekreisten Felder müssen miteinander verknüpft werden.

Unbeabsichtigtes Kreuzprodukt
Das Kreuzprodukt zurückgegebene unbeabsichtigtes Cross Joins über dargestellt.

1. Beachten Sie die sehr große Anzahl von Datensätzen.

Das korrigierte Abfrageergebnis
Die Ergebnisse, nachdem die richtige Verknüpfung erstellt wurde.

1. Die Anzahl von Datensätzen ist nun deutlich geringer.

Seitenanfang

Teilnehmen an Tabellen basierend auf der Ungleichheit von Feldwerten

Verknüpfungen müssen nicht auf der Äquivalenz der verknüpften Felder basieren. Eine Verknüpfung kann auf einem Vergleichsoperator wie "größer als" (>), "kleiner als" (<) oder "ungleich" (<>) basieren. Verknüpfungen, die nicht auf der Äquivalenz basieren, werden als ungleiche Verknüpfungen bezeichnet.

Wenn Sie die Zeilen zweier Datenquellen basierend auf Feldwerten kombinieren möchten, die nicht gleich sind, verwenden Sie eine ungleiche Verknüpfung. Ungleiche Verknüpfungen basieren in der Regel auf den Vergleichsoperatoren "größer als" (>), "kleiner als" (<), "größer als oder gleich" (>=) oder "kleiner als oder gleich" (<=). Ungleiche Verknüpfungen, die auf dem Operator "ungleich" (<>) basieren, können nahezu ebenso viele Zeilen wie Kreuzverknüpfungen zurückgeben, wodurch die Interpretation der Ergebnisse schwierig wird.

Verwendung einer ungleichen Verknüpfung

Ungleiche Verknüpfungen werden in der Entwurfsansicht nicht unterstützt. Wenn Sie eine ungleiche Verknüpfung verwenden möchten, müssen Sie die SQL-Ansicht verwenden. Sie können jedoch eine Verknüpfung in der Entwurfsansicht erstellen, zur SQL-Ansicht wechseln, den Vergleichsoperator "ist gleich" (=) suchen und durch den gewünschten Operator ersetzen. Danach können Sie die Abfrage nur dann wieder in der Entwurfsansicht öffnen, wenn Sie zuvor den Vergleichsoperator in der SQL-Ansicht wieder durch den Operator "ist gleich" (=) ersetzen.

Löschen einer Verknüpfung

Wenn Access automatisch eine unerwünschte Verknüpfung erstellt, oder Sie irrtümlicherweise eine Verknüpfung erstellen, z. B. eine Verknüpfung zwischen Felder mit unterschiedlichen Datentypen, können Sie die Verknüpfung löschen.

  1. Klicken Sie im Entwurfsbereich der Abfrage auf die Verknüpfung, die entfernt werden soll.

  2. Drücken Sie die ENTF-TASTE.

–oder–

  • Klicken Sie im Entwurfsbereich der Abfrage mit der rechten Maustaste auf die Verknüpfung, die entfernt werden soll, und klicken Sie dann auf Löschen.

Seitenanfang

Hinweis : Haftungsausschluss für maschinelle Übersetzungen: Dieser Artikel wurde mithilfe eines Computersystems und ohne jegliche Bearbeitung durch Personen übersetzt. Microsoft bietet solche maschinellen Übersetzungen als Hilfestellung für Benutzer ohne Englischkenntnisse an, damit Sie von den Informationen zu Produkten, Diensten und Technologien von Microsoft profitieren können. Da es sich bei diesem Artikel um eine maschinelle Übersetzung handelt, enthält er möglicherweise Fehler in Bezug auf (Fach-)Terminologie, Syntax und/oder Grammatik.

Siehe auch

Hinzufügen von Einträgen zu einer Tabelle mithilfe einer Anfügeabfrage

Kombinieren der Ergebnisse mehrerer Auswahlabfragen mithilfe einer Union-Abfrage

Erstellen einer Abfrage basierend auf mehreren Tabellen

Erstellen, bearbeiten oder Löschen einer Beziehung

Ihre Fähigkeiten erweitern
Schulung erkunden
Neue Funktionen als Erster erhalten
An Office Insider teilnehmen

War diese Information hilfreich?

Vielen Dank für Ihr Feedback!

Vielen Dank für Ihr Feedback. Es klingt, als ob es hilfreich sein könnte, Sie mit einem unserer Office-Supportmitarbeiter zu verbinden.

×