Äußere Verknüpfungen erstellen (Visuelle Datenbanktools)
Gilt für:SQL Server-
Standardmäßig erstellt der Abfrage- und Ansichts-Designer 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, solange diese Zeilen alle WHERE- oder HAVING-Suchbedingungen erfüllen. Wenn Sie Datenzeilen in das Resultset einschließen möchten, die keine Übereinstimmung in der verknüpften Tabelle aufweisen, 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 angezeigt werden ist nicht signifikant.) 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-Bereichangezeigt werden.
So erstellen Sie eine äußere Verknüpfung
Erstellen Sie die Verknüpfung entweder automatisch oder manuell. Ausführliche Informationen finden Sie unter Automatischen Verknüpfen von Tabellen (Visuelle Datenbanktools) oder Manuellen Verknüpfen von Tabellen (Visuelle Datenbanktools).
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 rechte äußere Verknüpfung 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.
Darüber hinaus ändert der Abfrage- und Ansichts-Designer die SQL-Anweisung im SQL-Bereich, um die Änderung des Verknüpfungstyps 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)