如果2列在2个表的自然连接中具有相同的名称,该怎么办? 选择哪个元组,如果一个列值相同或者需要两个列那么就足够了
答案 0 :(得分:1)
Table1 NATURAL JOIN Table2
相当于
Table1 JOIN Table2
ON Table1.Col1 = Table2.Col1
AND Table1.Col2 = Table2.Col2
...
将两个表中存在的所有列名添加到ON子句中。
所以是的,因为它是一个AND而不是暗示的OR,它们必须全部匹配。
如果你有一个两部分的密钥,这很有用,例如: company_code
+ username
,如果您有标准的非关键字段,例如date_created
,则存在危险。