问题标签 [ansi-sql]
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.
sql - ANSI 等效于 IS NULL
我正在尝试找到编写 T-SQL 'IS NULL' 的 ANSI 方法。(已更正,是“IN NULL”)互联网上的一些帖子说您可以使用 coalesce 使其像“IS NULL”一样工作
我喜欢这样做的原因是:可移植代码。并且查询必须返回NULL
.
到目前为止,我创建了这个:
结果集如下所示:
我确定了 的行NULL
,但是如何将它们从该集合中过滤掉?
sql - SELECT TOP 1 的 ANSI SQL 版本
是否有符合 ANSI SQL 的 SQL SERVER 版本SELECT TOP n
?
sql - 具有 distinct 和 sum 的 SQL 查询
我有下medleys
表结合了colors
,fruits
和ratings
:
我正在尝试编写一个符合 ANSI 的 SQL 查询,它将组合每个唯一/不同的color
-fruit
对并将每对的单个rating
值相加。因此,如果您在上面的表上运行查询,它将产生以下结果集:
因此,查询看到表中有两个red
-apple
对,因此它为red
-apple
对创建一个结果,并将它们的组成部分ratings
(25 + 10 = 35) 相加,等等。
我确信我需要选择不同的颜色/水果值,但不确定如何在同一“级别/范围”聚合评级:
顺序无所谓。color
并且fruit
是 VARCHAR(50)s 并且rating
是 INT。提前致谢!
sql - 通过标准 sql 从 1 亿条记录中选择 1000 个不同的名称
我有一张tb_FirstName
有一个字段的表FirstName
。该表有 1 亿条非空记录,有很多重复,例如 John 出现了 200 万次。的独特计数FirstName
超过 200 万。
如何使用标准sql尽快选择 1000 个不同的名称?
我目前正在使用以下内容,但这是
- tSQL
也许没有它可能的效率。
/li>
sql - 复制日期范围的记录
我必须从周级数据中复制记录并将其推回,以便它用数据填充前一周。所以我得到了 1/6 的一行,这是一个星期六,然后填写所有列以具有相同的数据,除了 1/1(星期日)之前的日期。
所以我的来源是日期,信息 1/6,a
目标应该是 1/7, b | 1/6,一个 | 1/5,一个 | 1/4,一个 | 1/3,一个 | 1/2,一个 | 1/1,一个
** 抱歉格式,无法正确显示。
到目前为止,我认为最好的方法是使用几个联合所有
等等。
或进行受控笛卡尔连接
现在上述两种方法都有效,但是它们都非常低效并且几乎杀死我的数据库(Teradata)所以我愿意接受任何关于如何改进它的想法。
sql - 公用表表达式的用途是什么?
这个 SQL 是做什么的?有人可以解释一下吗?
sql - 插入和更新时的 ANSI SQL 触发器
我正在寻找编写一个符合 ANSI 的 SQL 触发器,并且相信我已经完成了 90% 的工作,但缺少一些内容。我也对其性能有一些疑问/担忧(作为 SQL 语句和触发器)。
我有一张桌子叫widgets
:
我需要触发器在此表上发生 INSERT 或 UPDATE 时触发:
- 对于
widget_type_id
17 和widget_is_fizz
1(真)的 INSERT;或者 - 对于更新(出于与上述相同的原因)
当在此表上插入或更新类型 ID 为 17 的“fizz 小部件”时,我想将其更改widget_name
为“未知”。
到目前为止,我最好的尝试:
仍然无法弄清楚如何让它对 UPDATE 执行与对 INSERT 相同的操作。也不确定它是否在语法上正确且符合 ANSI。
此外,在性能方面,有传言说我们的 DBA 讨厌触发器,当我在他面前进行代码审查时,可能会与之抗争。触发器本身就很昂贵吗?如果是这样,为什么,我可以在这里做些什么来减轻这种缓慢?提前致谢。
sql - Oracle JOIN 失败
我正在尝试将旧式查询转换为 ANSI。为什么顶部查询失败(错误:ORA-00933:SQL 命令未正确结束)但底部版本有效?
sql - 从较新的 sql server 转换为不带 join 关键字的旧式 ansi sql
我们正在迁移到一个新的数据库平台,Polyhedra,它是严格意义上的老式 ANSI sql,没有“JOIN”这个词。如果它是 sql server,这就是我想要做的事情:
我似乎无法重新创建将连接放在 where 子句中的位置
喜欢:
显然,即使 tblB 为空,它也不会返回任何记录。知道如何完成这项工作吗?
sql - 为什么 OUTER 在 SQL Server 中是可选的?
为什么将关键字设为OUTER
可选(在LEFT OUTER JOIN
等) - 如果它是必填词,那么在 SQL Server 上编写的脚本会更符合标准?