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

SQL Anywhere 12.0.1 » SQL Anywhere 服务器 - SQL 的用法 » 查询和修改数据 » 连接:从多个表检索数据 » 自然连接

 

使用 NATURAL JOIN 时出错

NATURAL JOIN 运算符可能会使得您不希望等同的列相等,从而引起问题。例如,以下查询生成不想要的结果:

SELECT *
FROM SalesOrders NATURAL JOIN Customers;

此查询的结果没有任何行。SQL Anywhere 内部生成以下 ON 子句:

FROM SalesOrders JOIN Customers
   ON SalesOrders.ID = Customers.ID

SalesOrders 表中的 ID 列是订单的 ID 号。Customers 表中的 ID 列是客户的 ID 号。没有一个 ID 编号匹配。当然,即使有匹配的编号,也没有任何意义。