sql - 'natural full outer join' 和 'full outer join' 之间的区别

标签 sql oracle

关闭。这个问题需要更多focused .它目前不接受答案。












想改善这个问题吗?更新问题,使其仅关注一个问题 editing this post .

4年前关闭。




Improve this question




我读过 W3 学校笔记和数据库系统概念书,但自然全外连接和全外连接之间的区别似乎仍然模糊。到目前为止,我的理解是自然连接将在匹配的列值上自然连接,在完全外连接中我们必须明确声明 on条款。我们应该吗?或者我在理解上犯了一些错误?

最佳答案

Natural join基本上是一种憎恶。不要使用它。

问题是natural join使用表中列的名称来定义 join关系。这使得很难理解查询,因为您不知道关系是什么。更糟的是,natural join甚至不使用声明的外键关系。

使用 usingon反而。

至于natural full outer join的区别和 full outer join .他们都是full outer join .在后者中,您明确定义 join 的键。健康)状况。在前者中,数据库引擎根据表之间的通用名称选择键。

关于sql - 'natural full outer join' 和 'full outer join' 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42265203/

相关文章:

sql - 如何在 Oracle 中包装 PL/SQL 源代码?

sql - 如何为 Oracle 中的列组合提供唯一约束?

oracle - 报表生成器-多种语言的报表

oracle - 选择没有 ROWNUM 的前 N ​​行?

c# - System.Data.OracleClient 与。 ODP.NET

sql - 如何让mysql接受sybase database..table notation

mysql - 从 MySQL 表中删除两个字段相同的重复项

mysql - INNER JOIN 用作 SELECT 但不用作 DELETE

Oracle:如何闪回特定列?

SQL Server - 在特定列中拆分行