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

sql - SQL INNER JOIN 语法

下面的两位 SQL 得到相同的结果

我已经看到这两种风格在不同的公司都被用作标准。据我所见,第二个是大多数人在网上推荐的。除了风格之外,还有什么真正的原因吗?使用 Inner Join 有时会有更好的性能吗?

我注意到 Ingres 和 Oracle 开发人员倾向于使用第一种风格,而 Microsoft SQL Server 用户倾向于使用第二种风格,但这可能只是巧合。

感谢您的任何见解,我一直想知道这个问题。

编辑:由于我使用了不正确的术语,我已将标题从“SQL 内连接与笛卡尔积”更改。感谢您迄今为止的所有回复。

0 投票
3 回答
236 浏览

php - 我的 MySQL 查询有什么问题?

我没有收到任何错误,因为这只是一个小性能问题。

当我查看正在引用哪些表时,一切都很好,但是从应该只选择“值”字段的 table4 中,我得到了一个 ALL 被调用...

如您所见,它从决赛桌 (d) 中选择 *。当我只需要从中选择一个字段时,为什么要这样做?谁能帮我吗?

0 投票
1 回答
11558 浏览

mysql - 你如何在mysql中结合内部和外部连接

我可以在 sybase 中做到这一点,我可以在 oracle 中做到这一点,但我没有看到如何在 mysql 中做到这一点。

我有这个:(请克制自己不要重新格式化我的sql,上次有人这样做他们改变了它,所以它不一样,使问题变得毫无意义)

我得到了各种毫无意义的结果。

我想从 table1 中获取所有 id 的列表,其中 table2.data = cat,然后对 table3.data = dog 的表 3 的结果进行外部连接。

我注意到我不能在两个连接子句中为 table1 指定相同的表/别名,所以这让我相信 mysql 正在单独运行连接表达式并将结果组合在一起或类似的东西。

我还尝试摆脱 from 部分中的“内部连接”并将其放在 where 子句中,这也不起作用,尽管它没有以不同的方式工作(得到不同的错误结果)

这在 sybase 或 oracle 中非常容易。

我究竟做错了什么?

0 投票
6 回答
500 浏览

sql - 为什么这条 SQL 语句不起作用?

那行不通。你不能在一个sql语句中有两个“AND”吗?

//托梅克

0 投票
3 回答
346 浏览

mysql - MySQL 连接查询帮助

基本上我有一个类似以下的mysql查询:

而我需要做的是从帖子表中获取标题,并从投票表中获取当前投票值。

目前,除非发生投票,否则投票不会存储到投票表中。因此,所有票数为 0 的帖子都不在投票表中。

这会导致错误,它试图获取帖子 id = 投票值 id 的标题和投票值。如果投票表中没有任何记录,则值应返回为 NULL 或 0,但此时整个查询返回为 null,因此我什至无法返回标题。

如何在一个查询中解决所有问题?我不想使用多个查询...谢谢:)

0 投票
4 回答
613 浏览

sql - SQL产品/产品销售

一种常见的(我假设?)查询类型:

我有两个表('products'、'productsales')。“productsales”中的每条记录都代表一次销售(因此它有“date”、“quantity”、“product_id”)。我如何有效地进行如下查询:

检索在日期 Y 和日期 Z 之间销售超过 X 次的所有产品的产品名称。

(X 是销售数量而不是交易数量)

0 投票
14 回答
14085 浏览

sql - SQL查询:大表之间的内连接优化

我在 MySQL 4.x DB 中有以下 3 个表:

  • 主机:(300.000 条记录)
    • id (UNSIGNED INT) 主键
    • 名称(VARCHAR 100)
  • 路径:(6.000.000 条记录)
    • id (UNSIGNED INT) 主键
    • 名称(VARCHAR 100)
  • 网址:(7.000.000 条记录)
    • host (UNSIGNED INT) PRIMARY KEY <--- 链接到 hosts.id
    • path (UNSIGNED INT) PRIMARY KEY <--- 链接到paths.id

如您所见,模式非常简单,但问题在于这些表中的数据量。

这是我正在运行的查询:

此查询运行良好,但需要 50 分钟才能运行。有谁知道我如何加快查询速度?

提前致谢。尼古拉斯

0 投票
8 回答
1058 浏览

sql - 谁能告诉我为什么我的 SQL 查询不起作用(请参阅详细信息)?

我使用以下查询来查找重复项:

然后我尝试添加一个内部连接,以便我可以看到匹配的用户名,这些用户名存储在不同的表中。

但它给了我一个错误,说 users.firstname 不是某个聚合函数或其他东西的一部分......

有谁知道我如何获得计数,只显示具有多个部门的用户,并从另一个表中获取名字和姓氏,这样我就可以获得分配了多个部门的用户名列表?

编辑:这是最终为我工作的查询......

0 投票
6 回答
548 浏览

sql - 优化 SQL 查询

我还能做些什么来优化这个查询?

我正在使用 MySQL

谢谢

0 投票
6 回答
759717 浏览

sql - JOIN 和 INNER JOIN 的区别

这两个连接都会给我相同的结果:

对比

性能或其他方面的陈述之间有什么区别吗?

不同的SQL实现之间有区别吗?