对 ANSI/ISO SQL 标准的扩展是:您可以在自然连接的两侧指定视图或派生表。在以下语句中,
SELECT * FROM View1 NATURAL JOIN View2; |
将 View1 中的列与 View2 中的列进行比较。例如,如果在这两个视图中都发现名为 EmployeeID 的列,并且再没有其它同名的列,则生成的连接条件是 (View1.EmployeeID = View2.EmployeeID)
。
以下示例说明在自然连接中使用的视图可以包括表达式,而不只是包括列,并且采用与自然连接相同的方式处理它们。首先,创建包含名为 x 的列的视图 V,如下所示:
CREATE VIEW V(x) AS SELECT R.y + 1 FROM R; |
接下来,创建该视图与派生表的自然连接。该派生表具有相关名 T 及名为 x 的列。
SELECT * FROM V NATURAL JOIN (SELECT P.y FROM P) as T(x); |
此连接等效于以下语句:
SELECT * FROM V JOIN (SELECT P.y FROM P) as T(x) ON (V.x = T.x); |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |