Freigeben über


Erstellen äußerer Verknüpfungen (Visual Database Tools)

Gilt für:SQL Server-

Standardmäßig erstellt die Abfrage- und Ansichts-Designertools (Visual Database Tools) eine innere Verknüpfung zwischen Tabellen. Innere Verknüpfungen entfernen die Zeilen, die nicht mit einer Zeile aus der anderen Tabelle übereinstimmen. Äußere Verknüpfungen geben jedoch alle Zeilen aus mindestens einer der tabellen oder Ansichten zurück, die in der FROM Klausel erwähnt werden, sofern diese Zeilen bedingungen WHEREHAVING erfüllen. Wenn Sie Datenzeilen in das Resultset einfügen möchten, für die keine Übereinstimmung in der verknüpften Tabelle vorhanden ist, können Sie eine äußere Verknüpfung erstellen.

Wenn Sie eine äußere Verknüpfung erstellen, ist die Reihenfolge, in der Tabellen in der SQL-Anweisung (wie im SQL-Bereich widerspiegelt) angezeigt werden, erheblich. Die erste tabelle, die Sie hinzufügen, wird zur "linken" Tabelle, und die zweite Tabelle wird zur "rechten" Tabelle. (Die tatsächliche Reihenfolge, in der die Tabellen im Diagrammbereich (Visuelle Datenbanktools) angezeigt werden, ist nicht relevant.) Wenn Sie eine linke oder rechte äußere Verknüpfung angeben, verweisen Sie auf die Reihenfolge, in der die Tabellen der Abfrage hinzugefügt wurden, und auf die Reihenfolge, in der sie in der SQL-Anweisung im SQL-Bereich (Visual Database Tools) angezeigt werden.

Erstellen einer äußeren Verknüpfung

  1. Erstellen Sie die Verknüpfung entweder automatisch oder manuell. Ausführliche Informationen finden Sie unter "Tabellen automatisch verknüpfen" (Visual Database Tools) oder "Tabellen manuell verknüpfen" (Visual Database Tools).

  2. Wählen Sie die Verknüpfungslinie im Diagrammbereich aus, und wählen Sie dann im Menü Abfrage-Designer den Befehl "Alle Zeilen aus <Tabellenname>auswählen", der die Tabelle enthält, deren zusätzliche Zeilen Sie einbeziehen möchten.

    • Wählen Sie die erste Tabelle aus, um eine linke äußere Verknüpfung zu erstellen.
    • Wählen Sie die zweite Tabelle aus, um eine rechten äußeren Joins zu erstellen.
    • Wählen Sie beide Tabellen aus, um eine vollständige äußere Verknüpfung zu erstellen.

Wenn Sie eine äußere Verknüpfung angeben, ändert der Abfrage- und Ansichts-Designer die Verknüpfungslinie, um eine äußere Verknüpfung anzugeben.

Außerdem ändert der Abfrage- und Ansichts-Designer die SQL-Anweisung im SQL-Bereich, um die Änderung des Jointyps widerzuspiegeln, wie in der folgenden Anweisung dargestellt:

SELECT employee.job_id,
       employee.emp_id,
       employee.fname,
       employee.minit,
       jobs.job_desc
FROM employee
     LEFT OUTER JOIN jobs
         ON employee.job_id = jobs.job_id;

Da eine äußere Verknüpfung nicht übereinstimmende Zeilen enthält, können Sie sie verwenden, um Zeilen zu finden, die gegen Fremdschlüsseleinschränkungen verstoßen. Dazu erstellen Sie eine äußere Verknüpfung und fügen dann eine Suchbedingung hinzu, um Zeilen zu finden, in denen die Primärschlüsselspalte der tabelle ganz rechts null ist. Die folgende äußere Verknüpfung findet beispielsweise Zeilen in der employee Tabelle, die keine entsprechenden Zeilen in der jobs Tabelle enthalten:

SELECT employee.emp_id,
       employee.job_id
FROM employee
     LEFT OUTER JOIN jobs
         ON employee.job_id = jobs.job_id
WHERE (jobs.job_id IS NULL);