“自然完全外连接”和“完全外连接”之间的区别[关闭]

问题描述 投票:0回答:1

我已经阅读了W3学校笔记和数据库系统概念书,但自然全外连接和全外连接之间的区别似乎仍然模糊。到目前为止,我的理解是自然连接将连接匹配的列值,而完整的外部连接需要

on
子句。我的理解正确吗?

sql oracle
1个回答
17
投票

Natural join
基本上是令人厌恶的。 不要使用它。

问题在于

natural join
使用表中列的 names 来定义
join
关系。 这使得理解查询变得困难,因为您不知道其中的关系是什么。 更糟糕的是,
natural join
甚至不使用声明外键关系。

请使用

using
on
代替。

至于

natural full outer join
full outer join
的区别。 他们都是
full outer join
。 在后者中,您显式定义
join
条件的键。 在前者中,数据库引擎根据表之间的通用名称选择键。

© www.soinside.com 2019 - 2024. All rights reserved.