Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » SQL Anywhere Server - SQL-Benutzerhandbuch » Daten abfragen und ändern » Joins: Daten aus mehreren Tabellen abrufen » Inner- und Outer-Joins » Outer-Joins

 

Outer-Joins von Ansichten und abgeleiteten Tabellen

Outer-Joins können auch für Ansichten und abgeleitete Tabellen verwendet werden.

Beispiel:

SELECT *
FROM V LEFT OUTER JOIN A ON (V.x = A.x);

Diese Anweisung kann wie folgt interpretiert werden:

  • Ansicht V wird ermittelt.

  • Alle Zeilen aus der ermittelten Ansicht V werden mit A verknüpft, indem alle Zeilen aus V mithilfe der Join-Bedingung V.x = A.x beibehalten werden.

Beispiel

Folgendes Beispiel definiert eine Ansicht V, die die IDs der Mitarbeiterinnen zurückgibt, die mehr als $60.000 verdienen sowie die zugehörigen Abteilungsnamen.

CREATE VIEW V AS
SELECT Employees.EmployeeID, DepartmentName
  FROM Employees JOIN Departments
    ON Employees.DepartmentID = Departments.DepartmentID
  WHERE Sex = 'F' and Salary > 60000;

Anschließend wird diese Ansicht verwendet, um eine Liste der Abteilungen und der Regionen hinzuzufügen, in denen die MitarbeiterInnen arbeiten. Die Ansicht V wird beibehalten und "SalesOrders" liefert NULL.

SELECT DISTINCT V.EmployeeID, Region, V.DepartmentName
  FROM V LEFT OUTER JOIN SalesOrders
    ON V.EmployeeID = SalesOrders.SalesRepresentative;
EmployeeID Region DepartmentName
243 (NULL) R & D
316 (NULL) R & D
529 (NULL) R & D
902 Eastern Sales
... ... ...