当有两个或多个公共列时,NATURAL JOIN如何与两个表一起使用?

时间:2016-07-19 07:12:47

标签: sql

当有两个或多个公共列时,NATURAL JOIN如何与两个表一起使用?例如,如果我的tableA包含AA,AB和AC列,而tableB包含BA,BB和BD列,我输入:select from from A NATURAL JOIN B,它将是NATURAL JOIN,A或B的列(它们是两者都很常见)?

1 个答案:

答案 0 :(得分:0)

来自ISO / IEC 9075-2:1999(E)第7.7节:

  

如果指定了NATURAL,那么让公共列名称为<column name>   只有一列T1的<column name>和恰好一列的<column name>   T2。 [...]让相应的连接列引用T1的所有列   和T2有共同的列名,如果有的话。

     

[...]

     

如果指定了NATURAL或指定了<named columns join>,那么

     

案例:

     

i)如果有相应的连接列,则让T为CP的多行行   相应的连接列具有相同的值。

因此,根据标准,如果有两个常见的列名,则连接将基于所有两列。