问题标签 [natural-join]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
759 浏览

sql - 无法自然加入工作

我正在使用 postgresql,尽管我也在 sqlfiddle.com 中确认了这一点。

我的表格和元素是:

我想自然地加入 Book and Publisher 并获得牛津大学出版社出版的书籍。

这有效:

这不会:

即使这样也不会:

为什么??

0 投票
1 回答
1682 浏览

sql - 自然连接与 JOIN ON 子句有何不同?

因此,对于我的教授分配的一个有趣的小实验室,他希望我们使用不同的连接操作创建自己的查询。我很好奇的是 NATURAL JOIN 和 JOIN ON。

自然连接的教科书定义 - “返回匹配列中具有匹配值的所有行并消除重复列。” 所以,假设我有两个表,客户和订单。我列出了客户提交的所有 id = 1 的订单,如下所示:

我想知道这与 JOIN ON 有何不同,根据教科书“返回满足指定连接条件的行,通常包括两个表示列的相等比较”,即一个表的主键和一个表的外键其他。所以 JOIN ON 子句本质上与自然连接做同样的事情。它根据 ON 子句中指定的参数返回所有具有匹配值的行。

结果相同。后者只是编写自然连接的一种更简单的方法,还是我在这里遗漏了什么?

有点像 JavaScript 中的方式,我可以说:

或者我可以只使用更快更简单的文字,而无需构造函数:

编辑:甚至没有意识到自然连接在 FROM 子句中使用了 JOIN 关键字,并省略了 WHERE 子句。这只是表明我对这种语言知之甚少。为了跟踪我自己的进度,我会保留错误。

0 投票
1 回答
514 浏览

mysql - 2 个表之间的连接类型示例 - 自然连接

我附上了我正在努力解决的问题。到目前为止,我已经计算出每种连接类型的元组数量

我得到:R4 = 15(完全连接,所以第一个表中有 10 个,第二个表中有 5 个)R3=?,R2 = 5,R1 = 10。

正确答案是第四个要点,但我不确定如何获得。任何帮助,将不胜感激! 在此处输入图像描述

0 投票
1 回答
845 浏览

database - 当我们在两个表上应用自然连接时,新的主键是什么?

如果有两个表:

table1带有属性a1, a2, a3table2带有属性b1, b2, b3。并且是它们各自的主键a1b1对两个表应用自然联接时,新的主键是什么。一定要 a1, b1组合形成一个复合主键,否则它们会成为两个单独的候选键

0 投票
2 回答
2240 浏览

sql - 加入两个select语句sql

我有两个 sql 语句,我希望通过自然连接加入,但由于某种原因,以下给了我一个错误:

我正在使用 oracle 平台,它抛出的错误是:

出现此错误的原因是什么?任何帮助将不胜感激。

0 投票
1 回答
1374 浏览

postgresql - NATURAL FULL OUTER JOIN or USING, if common attribute is NULL

So if table A is:

And table B is:

Then, I do a NATURAL FULL OUTER JOIN as so:

Then, what is the result? And is the result the same for all PostgreSQL implementations?

Because does the 'no' come from table A, or table B, it is ambiguous. But, NATURAL joins combine the 'no'. But what if one of the 'no' is ambiguous, i.e. A.no IS NOT NULL, but B.no IS NULL, which of the 'no' does it pick? And what if A.no and B.no are both NULL?

TL;DR: So the question is, WHAT is the value of the no in SELECT no: Is it the A.no or B.no, or is it the COLAESCE of them?

0 投票
2 回答
5816 浏览

sql - 加入和自然加入有什么区别?

我正在学习 Oracle SQL,现在我被困在 Joins 章节中。我无法理解 Join 和 Natural Join 之间的区别

176 SA_REP 80 泰勒 2006 年 3 月 24 日 2006 年 12 月 31 日

如果 Join 和 Natural Join 都具有相似的功能,我不知道为什么会收到不同的结果。

0 投票
2 回答
4380 浏览

sql - 使用自然连接和集合运算符相交之间有什么性能差异吗?

我正在使用标准 HR Oracle 数据库进行练习,我对集合运算符 INTERSECT 的使用存有疑问。我有这些情况:

自然连接结果

相交结果

两个语句具有相同的结果集。有没有性能差异???谢谢。

0 投票
1 回答
3128 浏览

mysql - mysql中3个表的自然连接

所以我有 3 个表,电影(包含列 id 和名称)、导演(id、first_name、last_name)和movies_directors(movie_id 和director_id)。我想组合这 3 个表,因为它们具有相同的值(director_id 和 movie_id),然后投影特定列。这就是我到目前为止所做的:

但是,最终产生的表是空的!我也尝试使用视图,它适用于 2 个表(它返回组合表),但是当涉及到第三个表时,返回的表是空的。

0 投票
1 回答
2890 浏览

mysql - 在 SQL 查询中连接多个表

我正在尝试从我的数据库中的多个表中选择信息,这些表显示了多本书和订单的详细信息。 在此处输入图像描述

我正在将 isbn 查询到某本书的 5 个表(作者、图书作者、图书、订单行和图书订单)中,以检索有关该图书的信息以及已为该图书下达的订单信息。

这给了我: 在此处输入图像描述

然而,有一些 isbn 还没有被排序,因此没有出现在 orderline 表中,而是出现在 book 表中,它显示了所有书籍的 isbn。

我想显示那些没有订单的书籍的书籍信息,例如:

本质上,我想要一个表格,显示没有订单的 isbn 和 null 值的书籍信息。我想这将是某种自然的外部连接,但是我的尝试导致空表。

更新的查询尝试使用 group by 删除重复项

错误代码:1055。SELECT 列表的表达式 #4 不在 GROUP BY 子句中,并且包含在功能上不依赖于 GROUP BY 子句中的列的非聚合列“mousavs.orderline.isbn”