当有两个或多个公共列时,NATURAL JOIN如何与两个表一起使用?例如,如果我的tableA包含AA,AB和AC列,而tableB包含BA,BB和BD列,我输入:select from from A NATURAL JOIN B,它将是NATURAL JOIN,A或B的列(它们是两者都很常见)?
答案 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的多行行 相应的连接列具有相同的值。
因此,根据标准,如果有两个常见的列名,则连接将基于所有两列。