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

SQL Anywhere 11.0.1 (中文) » SQL Anywhere 服务器 - SQL 的用法 » 查询和修改数据 » 连接:从多个表检索数据 » 内连接和外连接 » 外连接

 

视图和派生表的外连接

还可为视图和派生表指定外连接。

语句

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

可解释如下:

  • 计算视图 V。

  • 通过保留来自 V 的所有行并且使用连接条件 V.x = A.x,将计算出的视图 V 中的所有行与 A 相连接。

示例

以下示例定义一个称为 V 的视图,该视图返回收入超过 $60000 的女雇员的雇员 ID 和部门名称。

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

接着使用该视图添加这些女雇员的工作部门和销售区域的列表。视图 V 会保留下来,SalesOrders 是提供空值的。

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
... ... ...