问题标签 [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.
mysql - 需要明确 SQL 中的 JOIN 概念
所以我们在 SQL 中遇到的各种类型的连接是:
1.加入
2.自然加入
3.内连接
4.外连接(左、右、全)
5.交叉连接
我需要清楚地了解 JOIN、NATURAL JOIN 和 CROSS JOIN 之间的区别
在 w3schools.com,我使用了 JOIN 和 NATURAL JOIN 查询并得到以下结果
1.查询JOIN。
JOIN 查询的输出(无法看到邮政编码和国家/地区列,但它们在那里)
2.查询自然连接。
我是一个初学者,我不清楚 JOIN 和 NATURAL JOIN 关键字的概念,因为互联网上的资料不够,或者如果有的话,我不清楚这两个关键字之间的混淆。
我不明白为什么 2 个关键字获取的记录数量如此不同。请深入解释这里发生了什么。提前致谢。
php - LARAVEL MYSQL如何使用自然JOIN
我需要在集合中返回以进行分页,但我只能在数组中返回,因为查询使用自然 JOIN。我如何使用 Laravel 集合进行此查询:
SELECT mensagens.* FROM mensagens NATURAL JOIN (SELECT id_emissor, MAX(created_at) created_at FROM mensagens WHERE id_receptor = ".$user_id." GROUP BY id_emissor) t
我用过这段代码:
$mensagem = \DB::select(DB::raw("SELECT mensagens.* FROM mensagens NATURAL JOIN (SELECT id_emissor, MAX(created_at) created_at FROM mensagens WHERE id_receptor = ".$user_id." GROUP BY id_emissor) t") );
sql - PostgreSQL 自然连接不适用于两个相关表
我有两个表的以下设计,我无法使用 NATURAL JOIN 来测试引用完整性。它适用于 INNER JOIN,但不适用于 NATURAL JOIN :
表 1. 项目
表 2. 许可方案
查询 1. 不工作的 NATURAL JOIN 查询(根本不返回任何记录)
查询 2. INNER JOIN
使用 INNER JOIN 查询,它返回所需的结果集。但是,当使用 NATURAL JOIN 时,它根本不返回任何记录。
sql - 自然连接必须在共享主键上吗?
假设我执行 A 自然连接 B,其中:
A 的架构是:(aID),其中 (aID) 是主键。
B 的架构是:(aID,bID),其中 (aID,bID) 是复合主键。
在这种情况下执行自然连接工作吗?或者 A 是否需要同时拥有 aID 和 bID 才能正常工作?
mysql - 自然加入mysql 5.6
我想看看一个国家赢得了多少奖牌。所以我决定合并表 www_result 和 www_country。它们具有共同的 country_id 属性。到目前为止,这是我的代码,但出现语法错误,我似乎找不到原因。
先感谢您
mysql - 在加入期间比较空值
我读到 null 不能与 null 进行比较,结果总是错误的。
在下面的链接中,我可以比较 2 个空值并返回行。
http://sqlfiddle.com/#!9/33f25/1/0
那么关于空值比较的正确说法是什么?
sql - 自然连接两个具有不同列数且正常工作的表
我试图理解为什么自然连接在我的两个表上的 sql 中无法正常工作:
和
第二个表是使用几个交叉连接和不同表创建的表。这种自然连接的结果不应该是:
但相反,它输出的只是第一个表。为什么会这样?确切的代码是:
sql - SQL/PSQL 交叉连接同一张表后在where子句中引用列名
我试图弄清楚当您与自身交叉连接表时如何从交叉连接中引用某些列。整个交叉连接表也被赋予了一个别名,这就是为什么我无法访问列名的原因,因为它也与另一个子查询自然连接。这是代码:
问题在于尝试比较 t1.sid 和 s3.sid 的“where”子句,因为 q0.sid 不明确。如何从交叉连接访问这些列?