Access SQL: FROM-Klausel

Dieser Artikel gehört zu einer Artikelreihe zu Access SQL. In dem Artikel wird beschrieben, wie Sie eine FROM-Klausel schreiben. Außerdem werden anhand von Beispielen verschiedene Techniken veranschaulicht, die Sie in einer FROM-Klausel anwenden können.

In einer SELECT-Anweisung geben Sie Datenquellen in der FROM-Klausel an. Die FROM-Klausel kann auch eine JOIN-Operation enthalten. Über eine JOIN-Operation können Sie Daten aus zwei Datenquellen, z. B. zwei Tabellen, oder eine Tabelle und eine Abfrage abgleichen und kombinieren.

Eine Übersicht zu Access SQL finden Sie im Artikel Access SQL: Grundkonzepte, Sprache und Syntax. Weitere Informationen zu anderen Komponenten von Access SQL finden Sie im Abschnitt Siehe auch.

Inhalt dieses Artikels

Angeben von Datenquellen

Verwenden von Ersatznamen für Datenquellen

Verknüpfen zusammengehöriger Daten

Angeben von Datenquellen

In einer SELECT-Anweisung gibt die FROM-Klausel die Tabellen oder Abfragen mit den Daten an, welche die SELECT-Klausel verwenden soll.

Angenommen, Sie möchten die Telefonnummer eines bestimmten Kunden wissen. Vorausgesetzt, dass die Tabelle mit dem Feld, in dem diese Information gespeichert ist, "tblCustomer" heißt, lautet die FROM-Klausel wie folgt:

FROM tblCustomer

Sie können den Namen in eckige Klammern setzen. Wenn der Name keine Leer- oder Sonderzeichen enthält (z. B. Satzzeichen), sind die eckigen Klammern optional. Enthält der Name Leer- oder Sonderzeichen, sind die eckigen Klammern verbindlich.

Tipp : Ein Name mit Leerzeichen lässt sich leichter lesen und kann Ihnen beim Entwerfen von Formularen und Berichten Zeit sparen, möglicherweise müssen Sie jedoch umfangreichere Eingaben vornehmen, wenn Sie SQL-Anweisungen schreiben. Berücksichtigen Sie diese Tatsache, wenn Sie Objekten in der Datenbank einen Namen zuweisen.

Seitenanfang

Verwenden von Ersatznamen für Datenquellen

Sie können einen anderen Namen wählen, um in einer SELECT-Anweisung auf eine Tabelle zu verweisen, indem Sie in der FROM-Klausel einen Tabellenalias angeben. Ein Tabellenalias ist ein Name, den Sie einer Datenquelle in einer Abfrage zuweisen können, wenn Sie einen Ausdruck als Datenquelle verwenden, bzw. der das Eingeben und Lesen der SQL-Anweisung vereinfacht. Dies ist besonders dann hilfreich, wenn der Name der Datenquelle lang oder schwer einzugeben ist, insbesondere wenn es mehrere Felder gibt, die denselben Namen haben, aber aus verschiedenen Tabellen stammen.

Wenn Sie beispielsweise Daten aus zwei Feldern auswählen möchten, die beide "ID" heißen und von denen eines aus der Tabelle "tblCustomer" und das andere aus der Tabelle "tblOrder" stammt, sieht Ihre SELECT-Klausel ungefähr so aus:

SELECT [tblCustomer].[ID], [tblOrder].[ID]

Durch Angeben von Tabellenaliasnamen in der FROM-Klausel kann die Abfrage einfacher eingegeben werden. Mit Tabellenaliasnamen sieht die FROM-Klausel etwa so aus:

FROM [tblCustomer] AS [C], [tblOrder] AS [O]

Sie können dann diese Tabellenaliasnamen in der SELECT-Anweisung wie folgt verwenden:

SELECT [C].[ID], [O].[ID]

Hinweis : Wenn Sie einen Tabellenalias angeben, können Sie in Ihrer SQL-Anweisung über den Alias oder den vollständigen Tabellennamen auf die Tabelle verweisen.

Seitenanfang

Verknüpfen zusammengehöriger Daten

Wenn Sie in einem Abfrageergebnis Paare mit Datensätzen aus zwei Datenquellen in einzelnen Datensätzen zusammenführen möchten, können Sie eine Verknüpfung (JOIN-Operation) durchführen. Eine Verknüpfung ist eine SQL-Operation, die angibt, wie zwei Datenquellen zusammenhängen und ob Daten aus einer Datenquelle in das Ergebnis einbezogen werden sollen, wenn es in der anderen Quelle keine entsprechenden Daten gibt.

Zum Kombinieren der Informationen aus zwei Datenquellen wenden Sie eine JOIN-Operation auf das gemeinsame Feld an. Wenn die in diesem Feld gespeicherten Werte übereinstimmen, werden die Daten aus diesen Datensätzen in den Ergebnissen kombiniert.

Zusätzlich zum Kombinieren von Daten können Sie mithilfe einer Verknüpfung auch angeben, ob Datensätze aus einer der Tabellen einbezogen werden sollen, wenn es in der dazugehörigen Tabelle keinen entsprechenden Datensatz gibt.

Angenommen, Sie möchten in einer Abfrage Daten aus den beiden Tabellen "tblCustomer" und "tblOrder" verwenden. Beide Tabellen enthalten das Feld "Kundenkennung" zum Identifizieren eines Kunden. Jeder Datensatz in der Tabelle "tblCustomer" verfügt ggf. über einen oder mehrere entsprechende Datensätze in der Tabelle "tblOrder", und die entsprechenden Werte können durch Werte im Feld "Kundenkennung" bestimmt werden.

Wenn Sie Tabellen so verknüpfen möchten, dass die Abfrage die Datensätze in den Tabellen kombiniert und Datensätze aus beiden Tabellen ausschließt, sofern es keinen entsprechenden Datensatz in der anderen Tabelle gibt, sieht die FROM-Klausel etwa so aus (der Zeilenumbruch wurde zum Verbessern der Lesbarkeit hinzugefügt):

FROM [tblCustomer] INNER JOIN [tblOrder]
ON [tblCustomer].[Kundenkennung]=[tblOrder].[Kundenkennung]

In Microsoft Office Access erfolgen Verknüpfungen in der FROM-Klausel einer SELECT-Anweisung. Es gibt zwei Arten von Verknüpfungen: innere Verknüpfungen (INNER JOINS) und äußere Verknüpfungen (OUTER JOINS), die in die folgenden Abschnitten erläutert werden.

Innere Verknüpfungen

Innere Verknüpfungen sind die häufigste Verknüpfungsart. Wenn eine Abfrage mit einer inneren Verknüpfung ausgeführt wird, entsprechen die in die Abfrageergebnisse einbezogenen Datensätze nur denjenigen, die in beiden verknüpften Tabellen einen gemeinsamen Wert haben.

Eine innere Verknüpfung hat folgende Syntax (der Zeilenumbruch wurde zum Verbessern der Lesbarkeit hinzugefügt):

FROM Tabelle1 INNER JOIN Tabelle2
ON Tabelle1.Feld1 Vergleichsoperator Tabelle2.Feld2

In der folgenden Tabelle werden die Komponenten einer INNER JOIN-Operation vorgestellt:

Komponente

Beschreibung

Tabelle1, Tabelle2

Die Namen der Tabellen, deren Datensätze kombiniert werden.

Feld1, Feld2

Die Namen der verknüpften Felder. Sind diese nicht numerisch, müssen die Felder denselben Datentyp haben und dieselbe Art von Daten enthalten, jedoch nicht denselben Namen haben.

Vergleichsoperator

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

Äußere Verknüpfungen

Äußere Verknüpfungen ähneln inneren Verknüpfungen dahingehend, dass sie eine Abfrage anweisen, wie Informationen aus zwei Quellen zu kombinieren sind. Der Unterschied besteht darin, dass sie auch angeben, ob Daten einbezogen werden sollen, wenn kein gemeinsamer Wert vorhanden ist. Äußere Verknüpfungen erfolgen in eine Richtung. Sie können angeben, ob alle Datensätze aus der in der Verknüpfung angegebenen Datenquelle (LEFT JOIN) oder alle Datensätze aus der zweiten Datenquelle in der Verknüpfung (RIGHT JOIN) einbezogen werden sollen.

Eine äußere Verknüpfung hat folgende Syntax:

FROM Tabelle1 [ LEFT | RIGHT ] JOIN Tabelle2
ON Tabelle1.Feld1Vergleichsoperator Tabelle2.Feld2

In der folgenden Tabelle werden die Komponenten einer LEFT JOIN- und RIGHT JOIN-Operation vorgestellt:

Komponente

Beschreibung

Tabelle1, Tabelle2

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

Feld1, Feld2

Die Namen der verknüpften Felder. Die Felder müssen denselben Datentyp haben und dieselbe Art von Daten enthalten, jedoch nicht denselben Namen haben.

Vergleichsoperator

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

Weitere Informationen zu Verknüpfungen finden Sie im Artikel Verknüpfen von Tabellen und Abfragen.

Seitenanfang

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!

×