我在理解数据库系统中自然连接的要点时遇到问题。根据定义,自然连接选择具有相同名称的列值相同的2个表的组合。
我的问题是:如果同名列有两个不同的值怎么办?它们将被删除,但是如果我需要从删除的元组中获取一些信息怎么办?
有人可以用例子向我解释一下吗?
我在理解数据库系统中自然连接的要点时遇到问题。根据定义,自然连接选择具有相同名称的列值相同的2个表的组合。
我的问题是:如果同名列有两个不同的值怎么办?它们将被删除,但是如果我需要从删除的元组中获取一些信息怎么办?
有人可以用例子向我解释一下吗?
这些值不需要是唯一的,并且您不应该“丢弃”元组。
自然连接适用于懒惰、信任和糟糕的程序员:
恕我直言,使用自然连接是一个糟糕的主意,永远不应该使用它们。您几乎一无所获(您节省了输入可能十几个字符)并且损失了很多。
自然联接在内部/外部方面与任何其他联接一样:默认为内部联接,但您也可以指定左联接或右联接,例如在 mysql 中:
select ...
from t1
natural left join t2