Darstellungsweise von Verknüpfungen im Abfrage- und Ansicht-Designer
Bei verknüpften Tabellen stellt der Abfrage- und Ansicht-Designer den Join im Diagrammbereich grafisch und im SQL-Bereich unter Verwendung von SQL-Syntax dar.
Diagrammbereich
Im Diagrammbereich wird im Abfrage- und Ansicht-Designer eine Joinlinie zwischen den verknüpften Datenspalten an. Der Abfrage- und Ansicht Designer zeigt eine Joinlinie für jede Joinbedingung an. Die folgende Abbildung zeigt eine Joinlinie zwischen zwei verknüpften Tabellen:
Wenn Tabellen durch mehrere Joinbedingungen miteinander verknüpft sind, zeigt der Abfrage- und Ansicht-Designer wie im folgenden Beispiel mehrere Joinlinien an:
Wenn die verknüpften Datenspalten nicht angezeigt werden (z. B., weil das die Tabelle oder das Objekt mit Tabellenstruktur darstellende Rechteck minimiert ist oder der Join einen Ausdruck beinhaltet), setzt der Abfrage- und Ansicht-Designer die Joinlinie in die Titelleiste des Rechtecks, das die Tabelle oder das Objekt mit Tabellenstruktur darstellt.
Die Form des Symbols in der Mitte der Joinlinie zeigt an, wie die Tabellen oder Objekte mit Tabellenstruktur verknüpft sind. Wenn die Joinklausel einen anderen Operator als "gleich" (=) verwendet, wird der Operator im Symbol der Joinlinie angezeigt. In der folgenden Tabelle werden die in Joinlinien verwendeten Symbole aufgelistet.
Joinliniensymbol |
Beschreibung |
---|---|
![]() |
Innerer Join (erstellt mit einem Gleichheitszeichen). |
![]() |
Innerer Join mit dem Operator "größer als". |
![]() |
Äußerer Join, bei dem sämtliche Zeilen aus der links angezeigten Tabelle aufgenommen werden, auch wenn keine Übereinstimmungen in der verknüpften Tabelle vorliegen. |
![]() |
Äußerer Join, bei dem sämtliche Zeilen aus der rechts angezeigten Tabelle aufgenommen werden, auch wenn keine Übereinstimmungen in der verknüpften Tabelle vorliegen. |
![]() |
Ein vollständiger äußerer Join, bei dem alle Zeilen aus beiden Tabellen aufgenommen werden, auch wenn keine Übereinstimmungen in der verknüpften Tabelle vorliegen. ![]()
Einige Datenbanken, z. B. Oracle, unterstützen keine vollständigen äußeren Joins.
|
Die Symbole an den Enden der Joinlinie zeigen den Jointyp an. In der folgenden Tabelle werden die Jointypen und die an den Enden der Joinlinien verwendeten Symbole aufgelistet.
Symbole an den Enden der Joinlinien |
Jointyp |
---|---|
![]() |
1:1-Join |
![]() |
1:n-Join |
![]() |
Der Abfrage- und Ansicht-Designer konnte den Jointyp nicht ermitteln. Dies tritt häufig auf, wenn Sie einen Join manuell erstellt haben. |
SQL-Bereich
Ein Join kann in einer SQL-Anweisung auf unterschiedliche Weise ausgedrückt werden. Die genaue Syntax ergibt sich aus der verwendeten Datenbank und daraus, wie Sie den Join definiert haben.
Folgende Syntaxoptionen werden beim Verknüpfen von Tabellen angewendet:
JOIN-Qualifizierer in der FROM-Klausel. Die Schlüsselwörter INNER und OUTER geben den Jointyp an. Diese Syntax entspricht dem Standard bei ANSI 92 SQL.
Wenn Sie z. B. die Tabellen publishers und pub_info über die Spalte pub_id der beiden Tabellen verknüpfen, kann dies mit folgender SQL-Anweisung ausgedrückt werden:
SELECT * FROM publishers INNER JOIN pub_info ON publishers.pub_id = pub_info.pub_id
Wenn Sie einen äußeren Join erstellen, wird LEFT OUTER oder RIGHT OUTER statt INNER verwendet.
WHERE-Klausel zum Vergleich der Spalten in beiden Tabellen. Eine WHERE-Klausel wird angezeigt, wenn die Datenbank die JOIN-Syntax nicht unterstützt (oder wenn Sie sie selbst eingegeben haben). Wenn der Join über die WHERE-Klausel erstellt wird, werden beide Tabellennamen in der FROM-Klausel angegeben.
Die folgende Anweisung verknüpft z. B. die Tabellen publishers und pub_info.
SELECT * FROM publishers, pub_info WHERE publishers.pub_id = pub_info.pub_id