Vorher hatten wir verbinden inner betrachtet, wo wir die Reihen vorwählen, die für die teilnehmenden Tabellen für verbinden allgemein sind. Ein Fall ist daß, wenn wir interessiert sind, an, der Elemente in einer Tabelle vorzuwählen unabhängig davon, ob sie in der zweiten Tabelle anwesend sind? Wir müssen jetzt den ÄUSSEREN SQL verwenden VERBINDEN Befehl.
Beispiel:
Die Syntax für das Durchführen ein äußeres schließen SQL ist Datenbank-abhängig an. Z.B. in Oracle, legen wir „(+)“ in WO Klausel auf die andere Seite der Tabelle, für die wir alle Reihen einschließen möchten.
Lassen Sie uns wir die folgenden zwei Tabellen haben,
Table:-Store_Information
Store_name
Sales
Date
Los Angeles
$1500
Jan-05-2005
San Diego
$250
Jan-07-2005
Los Angeles
$300
Jan-08-2005
Boston
$700
Jan-08-2005
Table:-Geography
Region_name
Store_name
East
Boston
East
New York
West
Los Angeles
West
San Diego
Wenn wir Verkäufe durch Region herausfinden möchten. Wir sehen, daß Tabelle Geographie Informationen über Regionen und Speicher einschließt, und Tabelle Store_Information enthält Verkäufe Informationen für jeden Speicher. Um die Verkäufe Informationen durch Region zu erhalten, müssen wir die Informationen von den zwei Tabellen kombinieren. Die zwei Tabellen überprüfend, finden wir, daß sie über das Common auffangen, „store_name“ verbunden werden.
SELECT A1.store_name, SUM(A2.Sales) SALES
FROM Geography A1, Store_Information A2
WHERE A1.store_name = A2.store_name (+)
GROUP BY A1.store_name
Output:-
Store_name
SALES
Boston
$700
New York
Los Angeles
$1800
San Diego
$250
Anmerkung: Wenn es gibt, wird kein Gleiches auf der zweiten Tabelle NULL zurückgebracht. In diesem Fall „New York“ erscheint nicht in der Tabelle Store_Information, so ist seine entsprechende „VERKÄUFE“ Spalte UNGÜLTIG.