我已经阅读了W3学校笔记和数据库系统概念书,但自然全外连接和全外连接之间的区别似乎仍然模糊。到目前为止,我的理解是自然连接将连接匹配的列值,而完整的外部连接需要
on
子句。我的理解正确吗?
Natural join
基本上是令人厌恶的。 不要使用它。
问题在于
natural join
使用表中列的 names 来定义 join
关系。 这使得理解查询变得困难,因为您不知道其中的关系是什么。 更糟糕的是,natural join
甚至不使用声明外键关系。
请使用
using
或 on
代替。
至于
natural full outer join
和full outer join
的区别。 他们都是full outer join
。 在后者中,您显式定义 join
条件的键。 在前者中,数据库引擎根据表之间的通用名称选择键。