问题标签 [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 投票
1 回答
3334 浏览

database - 自然连接的关联性

我想知道关系代数中的自然连接操作是否是关联的。我的意思是,下面的等式是真的吗?

直觉上它看起来与我相关,但我不确定。

谢谢

0 投票
3 回答
26765 浏览

oracle - Oracle USING 子句最佳实践

免责声明:我是开发人员,而不是 DBA。

我一直是 Oracle 中 USING 子句的忠实拥护者,因为我不小心偶然发现了它,并用它代替了老式的 ON 子句来连接事实表和维度表。对我来说,它创建了一个更简洁的 SQL 并生成了一个更简洁的结果集,没有不必要的重复列。

但是,昨天一位同事要求我将我所有的 USING 子句转换为 ON。我会和他核实一下,问他的理由是什么。他与数据库的工作比我更密切,所以我认为他有一些充分的理由。

我没有收到他的回复(我们在不同的时区工作),但我想知道是否有关于使用“使用”条款的任何指导方针或最佳实践?我用谷歌搜索了很多,但没有找到任何确定的东西。事实上,我什至在任何地方都没有进行过好的辩论。

有人可以对此有所了解吗?或者提供一个关于该主题的良好讨论的链接?

谢谢!

0 投票
1 回答
307 浏览

mysql - (MySQL)如何在单个查询中从自然连接的结果表中获取列中唯一值的数量?

我有两个表:

员工

审判

如果我要执行 Employee 和 Trial 的 Natural join,

我会得到结果:

如果我想执行上述自然联接并在单个查询中计算组织中的部门数,我将如何去做?

有效,但我想知道是否还有另一种方法可以做到以上几点?

笔记:

自然加入是必须的!

我尝试了以下两个代码,但都失败了。:P

  1. select count(emp_dept) from (select (emp_dept) from employee natural join trial) as T2; 当实际答案是 4 时,给了我 5。

  2. select count(select distinct(emp_dept) as emp_date from (select * from employee natural join trial) as T2) from T2;

  3. select count(select distinct(emp_dept) as emp_date from (select * from employee natural join trial) as T2) from (select * from employee natural join trial) as T3);

^ 我在上面的 3 行代码中做错了什么?

提前致谢!:)

0 投票
3 回答
8444 浏览

sql - 公共列名称不同时如何进行自然连接?

我需要对名为“客户”和“地址”的两个表(关系 1:1)进行自然连接,这些表中的公共列是键 ID(根据该列,自然连接将运行)。但是 - 表 Customer 中的此列称为“ID_Customer”,在表 Addresses 中称为“ID”。

因此,自然连接无法正常工作,因为程序无法识别它是同一列(通过重要性)。

我无法将列名更改为相同(由于很多原因..)有什么办法可以使这项工作 - 所以程序会理解那些是相同的列?

0 投票
0 回答
3210 浏览

sql-server-2008 - SQL Server 2008 中的 USING 关键字是什么?

我知道 SQL 子句“USING”的美妙用法:它类似于 NATURAL JOIN 但您必须详细说明连接列;您可以更简单(更快)地连接具有相同键和外键的表,并且查询的输出不包含冗余字段。

但是 SQL Server 2008 不支持使用 USING 关键字的 JOIN,但是,正如您在链接中看到的那样,它使用了这个关键字。为什么?

0 投票
2 回答
87 浏览

mysql - SQL 自然连接和使用子句

所以我有 2 个包含以下数据的表

表格1

表 2

目标是在我知道 pid 时获取 data2。我已经尝试过了,但失败得很惨。

0 投票
4 回答
2954 浏览

java - 对两个不同数据库中的两个表进行自然连接

我有两个表:p.Test 和 q.Test 在两个不同的数据库 - p 和 q 上。

这两个表都有不同的 MYSQL 连接,并且位于两个不同的服务器上。

我需要按照这里给出的方式进行自然连接:http: //www.microshell.com/database/sql/comparing-data-from-2-database-tables/2/

我怎么可能这样做?我也在使用 java PreparedStatement 来实际运行查询。有没有办法做到这一点?

假设我为每个人创建了两个连接:

我如何触发preparedStatement 甚至说:select * from p.Test,q.Test

0 投票
2 回答
4216 浏览

sql - 关系代数 - 自然连接 - 一些基础知识

我有两个关于自然连接的基本问题。

假设 A 是一个关系,那么:

  1. (A) 自然连接 (A) = A 吗?

  2. (A) 自然连接 (空集) = A 吗?

据我了解,这两个问题的答案都是肯定的,对吗?

注意:这不是一个家庭作业问题,我只是想了解一些自然加入的基础知识。

谢谢你。

0 投票
1 回答
73 浏览

sql - SQL 查询没有产生正确的结果

以下 SQL 查询的目标是返回居住在 San Fran 或 LA 的每位女性经理的姓名和薪水。我很困惑为什么这个查询会返回男性经理和女性经理......我最初认为定义约束“gender ='F'”以及自然加入会摆脱所有男性经理立即上市。

有没有人认为上述查询有任何本质上的错误?仅供参考:这是该数据库表的架构:

另外,我正在为 Oracle 11g R2 使用 SQL。

谢谢你看看这个!

0 投票
1 回答
3969 浏览

xml - 如何在 XQuery 中进行自然连接

我对这个条款的目标是列出住在旧金山但在硅谷工作的员工。现在我的条款正在努力找出哪些员工住在 San Fran,但我不知道如何加入 EmployeeList 和 WorkInfo 这两个列表,以便获取住在 San Fran 的员工并找出其中的哪些名字在硅谷工作。

到目前为止,这是我在条款中的内容:

这是我的 XML 数据文件:

自然加入是解决这个问题的正确方法吗?自然连接是如何用 XQuery 编写的?我是否需要在不同的文件中写一个单独的条款来列出在硅谷工作的员工,然后以某种方式加入这两个条款的结果?

任何帮助是极大的赞赏!