问题标签 [row-value-expression]

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 投票
3 回答
24365 浏览

sql - 在 sql in 子句中使用元组

给定这样的数据库:

我想做一些类似的事情

得到答案'一','三',但我得到“接近”,“:语法错误”

这在任何风格的 SQL 中都可能吗?(我正在使用 sqlite)

我犯了一个严重的概念错误吗?要不然是啥?

0 投票
2 回答
4045 浏览

sql - 如何比较sql中的元组组

如何比较 sql 中的元组组:考虑以下示例:

我想编写一个 sql 查询来比较两个表中的值组并报告差异。在图示示例中,表 a 中的组:((A,FOO),(A,BAR)) 与组 ((C,FOO),(C,BAR)) 相同,即使组名不同. 重要的是组的内容是相同的。最后,查询将报告存在差异:它是 (B,ZOO) 元组。

尽管 T1 中包含 ZOO 的组 X 在 T2 中具有匹配值:(B,ZOO) 它仍然不是匹配项,因为该组还具有不属于 (B, ZOO) 组的 (X, HHH) 值在T2

0 投票
2 回答
2897 浏览

sql - 在 SQL (SQLite3) 中将 IN 与元组集一起使用

我在 SQLite3 数据库中有下表:

我想执行以下查询:

也就是说,我有几个注释 ID 元组,我想为每个元组获取记录。sqlite3 提示给我以下错误:

如何正确地将其表达为 SQL 语句?


编辑我意识到我没有很好地解释我真正追求的东西。让我再试试这个。

neighbors_of_annotation如果有人给了我他们感兴趣的任意术语列表,我可以编写如下 SQL 语句:

但是现在假设那个人想给我成对的术语,如果形式(TERM_1,1, TERM_1,2), (TERM_2,1, TERM_2,2), ..., (TERM_N,1, TERM_N,2), where TERM_i,1is inneighbors_of_annotationTERM_i,2is in other_annotation。SQL 语言是否提供了一种同样优雅的方式来为感兴趣的对(元组)制定查询?

最简单的解决方案似乎是为这些对创建一个新表,然后将该表与要查询的表连接起来,并仅选择第一个词和第二个词匹配的行。创建大量AND / OR语句看起来很可怕且容易出错。

0 投票
4 回答
13827 浏览

sql - 是否可以在 SQL 查询的 `WHERE` 子句中比较 *tuples*?

是否可以在SQL 查询的子句中比较元组(谢谢,a_horse_with_no_name) ?WHERE这样,我可以转换它:

变成类似这样的东西:

0 投票
2 回答
21469 浏览

mysql - SQL:元组比较

在我当前的应用程序中,我需要能够执行这种类型的查询:

并得到 的答案(333, 'B', 'B'),给定以下数据:

在实际 SQL 中完成此任务的最有效方法是什么?请记住,这是一个玩具示例,并且我的实际应用程序具有具有不同列和数据类型以及数亿行的表。我使用 MySQL,如果有帮助的话。您还可以假设这些列上有一个 PRIMARY 或 UNIQUE 索引。

如果解决方案很容易扩展到更多/更少的列,那就更好了。


元组比较:

有几个人问过,所以我应该把这个放在问题中。元组是按字典顺序排列的,这意味着序列的顺序与它们的第一个不同元素相同。例如,(1,2,x) < (1,2,y) 返回的结果与 x < y 相同。

值得注意的是 SQL(或至少 mysql)正确地实现了这一点:


这是创建示例所需的 SQL:

添加这个索引似乎会导致表格按字典顺序排序,这很有趣。在我们的生产系统中并非如此。

0 投票
2 回答
1102 浏览

sql - SQLite 元组相等比较

使用 PostgreSQL 和 MySQL 可以做类似的事情

当我在 SQLite3 上尝试相同的操作时,它给了我一个令人筋疲力尽的错误消息:

从 SQLite 文档中我无法确定它是否支持元组。任何人都可以对此有所了解吗?

0 投票
2 回答
4321 浏览

sql - sqlite 元组比较

尝试做与这个问题相同的事情,但这次是在 sqlite 中。在我当前的应用程序中,我需要能够执行这种类型的查询:

并得到 的答案('Liz', 'Jordan', 2),给定以下数据:

在 sqlite 中完成此任务的最有效方法是什么?请记住,这是一个玩具示例,并且我的实际应用程序具有包含更多列和数据类型以及数亿行的表。

如果解决方案很容易扩展到更多/更少的列,那就更好了。


元组比较:

元组是按字典顺序排列的,这意味着序列的顺序与它们的第一个不同元素相同。例如,(1,2,x) < (1,2,y) 返回的结果与 x < y 相同。

值得注意的是,SQL-92(以及 mysql、oracle、postresql)正确地实现了这一点。该标准使用“行值构造函数”来表示我所说的元组。该行为在第 8.2.7 部分,第 209 页中详细定义。


这是创建示例所需的 SQL:

0 投票
3 回答
158 浏览

sql - SQL Where 子句

我的应用程序最初有一个类似于此的查询:-

其中 list 是逗号分隔的列表。

但是,现在要求已经改变,我必须查询 Persons 表并给出姓名和年龄。我有 nameAgeList。

最初,我认为与此类似的查询会起作用(从 nameAgeList 创建 nameList 和 ageList)

但仔细思考后,这似乎是一个错误的查询。

请让我知道我应该如何继续进行此查询。

0 投票
9 回答
67173 浏览

sql - 在 SQL“IN”子句中使用元组

我有一个包含字段 group_id 和 group_type 的表,我想从元组列表中查询具有任何元组(组 id组类型)的所有记录。例如,我希望能够执行以下操作:

一个非常类似的问题已经被问到:using tuples in sql in Clause,但是那里提出的解决方案假定元组列表是从另一个表中获取的。这在我的情况下不起作用,因为元组值是硬编码的。

一种解决方案是使用字符串连接:

但问题是表很大,对每条记录进行字符串连接和转换会非常昂贵。

有什么建议吗?

0 投票
5 回答
3879 浏览

sql - SQL WHERE IN 子句中的多键

假设您有一个Accounts表,其中ID列是 PK 并且TaxID+AccountNumber是唯一约束:

现在您想使用自然键进行类似的查询:

所以这涉及到元组,看起来很合法。是否可以用 ANSI SQL 以某种方式表达?也许在某些特定的 SQL 扩展中?如果不是,为什么(会欣赏任何猜测)?