INNER JOIN-Vorgang

Fasst Datensätze aus zwei Tabellen zusammen, wenn übereinstimmende Werte in einem gemeinsamen Feld vorhanden sind.

Syntax

FROM Tabelle1 INNER JOIN Tabelle2 ON Tabelle1.Feld1Vergleichsoperator 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.

Vergleichsoperator

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


Hinweise

Ein INNER JOIN-Vorgang kann in FROM-Klauseln verwendet werden. Dies ist der häufigste Verknüpfungstyp. Mit INNER JOIN werden Datensätze aus zwei Tabellen zusammengefasst, wenn übereinstimmende Werte in einem in beiden Tabellen vorhandenen Feld vorliegen.

Mit INNER JOIN können Sie für die Tabellen Departments (Abteilungen) und Employees (Personal) alle Mitarbeiter in den verschiedenen Abteilungen auswählen. Um dagegen alle Abteilungen (selbst wenn einigen Abteilungen keine Mitarbeiter zugeordnet sind) oder alle Mitarbeiter (selbst wenn einige Mitarbeiter keiner Abteilung zugeordnet sind) auszuwählen, können Sie mithilfe eines LEFT JOIN- oder RIGHT JOIN-Vorgangs eine Äußere Verknüpfung erstellen.

Wenn Sie versuchen, Felder miteinander zu verknüpfen, die Daten vom Datentyp Memo-Datentyp oder OLE-Objekt-Datentyp enthalten, tritt ein Fehler auf.

Beliebige numerische Felder desselben Datentyps können miteinander verknüpft werden. Beispielsweise können Sie Felder vom Datentyp AutoWert-Datentyp und Long-Datentyp miteinander verknüpfen, weil es sich um ähnliche Datentypen handelt. Es ist dagegen nicht möglich, Felder vom Datentyp Single-Datentyp und Double-Datentyp miteinander zu verknüpfen.

Im folgenden Beispiel wird veranschaulicht, wie Sie die Tabellen Categories (Kategorien) und Products (Artikel) nach dem CategoryID-Feld (Kategorie-Nr) verknüpfen könnten:

SELECT Kategoriename, Artikelname
FROM Kategorien INNER JOIN Artikel
ON Kategorien.Kategorie-Nr = Artikel.Kategorie-Nr;

Im vorherigen Beispiel ist KategorieNr das verknüpfte Feld. Es ist jedoch nicht in der Abfrageausgabe eingeschlossen, weil es nicht in der SELECT-Anweisung eingeschlossen ist. Schließen Sie den Feldnamen in die SELECT-Anweisung ein, in diesem Fall also Kategorien.Kategorie-Nr, um das verknüpfte Feld einzuschließen.

Sie können auch mehrere ON-Klauseln in einer JOIN-Anweisung folgendermaßen miteinander verknüpfen:

SELECT Felder
FROM Tabelle1 INNER JOIN Tabelle2
ON Tabelle1.Feld1VergleichsoperatorTabelle2.Feld1 AND
ON Tabelle1.Feld2VergleichsoperatorTabelle2.Feld2) OR
ON Tabelle1.Feld3VergleichsoperatorTabelle2.Feld3)];

Darüber hinaus können Sie JOIN-Anweisungen folgendermaßen schachteln:

SELECT Felder
FROM Tabelle1 INNER JOIN
(Tabelle2 INNER JOIN [( ]Tabelle3
[INNER JOIN [( ]Tabellex [INNER JOIN ...)]
ON Tabelle3.Feld3VergleichsoperatorTabellex.Feldx)]
ON Tabelle2.Feld2VergleichsoperatorTabelle3.Feld3)
ON Tabelle1.Feld1VergleichsoperatorTabelle2.Feld2;

Ein LEFT JOIN- oder RIGHT JOIN-Vorgang kann innerhalb eines INNER JOIN-Vorgangs geschachtelt sein, aber ein INNER JOIN-Vorgang kann nicht innerhalb eines LEFT JOIN- oder RIGHT JOIN-Vorgangs geschachtelt sein.



Teilen Facebook Facebook Twitter Twitter E-Mail E-Mail

War diese Information hilfreich?

Sehr gut. Noch anderes Feedback?

Was können wir verbessern?

Vielen Dank für Ihr Feedback!

×