问题标签 [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 回答
589 浏览

oracle - Oracle 中的类似 Perl JOIN 的行为?

我有两张桌子,我们称它们为 PERSON 和 NAME。

假设 NAME 表的数据如下:

我需要一个将返回的查询(Oracle 10g)

有没有一种简单的方法可以做到这一点?


更新:

根据 figs 提供的文章,从 9i 开始,您可以执行以下操作:

对于此示例,答案变为:

0 投票
10 回答
149230 浏览

sql-server - 将子查询中的多个结果组合成一个逗号分隔值

我有两张桌子:

关系是一排TableA-多排TableB

现在,我想看到这样的结果:

这不起作用(子查询中有多个结果):

如果我在客户端进行处理,这是一个微不足道的问题。但这意味着我必须在每个页面上运行 X 个查询,其中 X 是TableA.

请注意,我不能简单地执行 GROUP BY 或类似的操作,因为它会为TableA.

我不确定使用 COALESCE 或类似方法的 UDF 是否可行?

0 投票
11 回答
16694 浏览

sql - 在 SQL 或 MySQL 中不使用 JOIN 关键字的连接是否有问题?

当我开始编写数据库查询时,我还不知道 JOIN 关键字,自然我只是扩展了我已经知道的内容并编写了如下查询:

现在我知道这与 INNER JOIN 相同,我在我的代码中找到了所有这些查询,并问自己是否应该重写它们。它们有异味还是它们很好?


我的答案摘要:这个查询没有任何问题,但是使用关键字很可能会使代码更具可读性/可维护性。

我的结论:我不会改变我的旧查询,但我会更正我的写作风格并在未来使用关键字。

0 投票
7 回答
410 浏览

sql - 多对多表查询

我有一个多对多索引表,我想对其进行包含/排除类型查询。

fid 实际上是一个整数索引,但这里以字母表示以便于理解。这是一个示例表:

药片

这是我想要的一些示例查询。

  1. 哪些 eid 有 FID B,而不是 A?(回答开斋节 2 和 5)
  2. 哪些 eid 有 FID C 而不是 A?(回答开斋节 2)

我似乎无法弄清楚可以执行此操作的查询。

我试过这样的自我加入:

那是行不通的,因为它仍然会返回 eid=1 和 fid=C 的行。

我清楚我想要什么吗?

0 投票
14 回答
59538 浏览

sql - 子查询与连接

我重构了我们从另一家公司继承的应用程序的慢速部分,以使用内部联接而不是子查询,例如:

重构后的查询运行速度提高了大约 100 倍。(约 50 秒到约 0.3 秒)我预计会有所改善,但谁能解释为什么它如此激烈?where 子句中使用的列都已编入索引。SQL 是否每行执行一次 where 子句中的查询?

更新- 解释结果:

不同之处在于“where id in ()”查询的第二部分 -

vs 1 个带有连接的索引行:

0 投票
11 回答
67029 浏览

sql - 如何查找未加入的记录?

我有两个连接在一起的表。

A有很多B

通常你会这样做:

从a中获取所有在b中有记录的记录。

如何仅获取 a 中没有 b 中任何内容的记录?

0 投票
7 回答
8833 浏览

javascript - Javascript 字符串连接比这个例子更快?

我必须在 Javascript 中连接一堆字符串,并且正在寻找最快的方法。让我们假设 Javascript 必须创建一个大型 XML“文件”,该文件自然由许多小字符串组成。所以我想出了:

不要关注循环或构建示例的其他“复杂”代码。

我的问题是:对于未知数量的字符串,您是否有更快的算法/方法/想法将许多小字符串连接到一个大字符串?

0 投票
1 回答
959 浏览

sql - 对计数(*)和自连接感到困惑

我想返回当月和当年的所有申请日期。这一定很简单,但是我想不通。我知道当月有 2 个日期,当年有 90 个日期。右,左,外,内我都试过了,只是把代码扔在墙上,想看看什么会粘住,但都不起作用。我要么两列得到 2,要么两列得到 180。这是我最新的选择声明。

0 投票
3 回答
1738 浏览

mysql - MySQL 查询:限制 JOIN

假设我有两个要加入的表。分类:

和项目:

我想要一个返回类别和第一个(并且只有第一个)项目名称的查询:

有没有办法我可以获得随机结果,例如:

谢谢!

0 投票
5 回答
2327 浏览

sql - SQL 查询:在多行上模拟“与”而不是子查询

假设我有一个包含两列的“标签”表:tagidcontentid。每行代表分配给一段内容的标签。我想要一个查询,它会给我每条用 tagid 334、338 和 342 标记的内容的 contentid。

执行此操作的“简单”方法是(伪代码):

然而,我的直觉告诉我,有更好、更快、更可扩展的方法来做到这一点。例如,如果我需要找到 12 个标签的交集怎么办?这很快就会变得可怕。有任何想法吗?

编辑:原来这也包含在这篇优秀的博客文章中。