问题标签 [sql-standards]

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 投票
4 回答
265 浏览

sql - 将 SQL 标准应用于脚本

我有以下脚本并想更改它以使其符合国际标准。我使用 SQL-Server,但只要有可能,我想遵循 SQL 的国际标准。我不相信方括号是标准的 - 我应该用双引号替换它们吗?

无需付费即可获得标准文档的副本,互联网上是否有任何资源可以提供完全符合标准要求的格式和布局的脚本示例?


编辑

我唯一不是经典标准的轻微偏好如下。这是由 AaronBertrand 提出的,我同意它更具可读性 - 特别是如果该SELECT子句有 20 或 30 个字段:

0 投票
2 回答
5721 浏览

sql - COALESCE 或 CASE 更高效和/或标准

就 x 与 y 相比而言。

  • x 是否更符合 sql 标准?[如有主观请见谅]
  • x 比 y 更有效吗?
  • 或者这些脚本完全不同并且可以在不同的上下文中使用?

X

是的

0 投票
2 回答
95 浏览

sql - 在 ONE 查询中为 id 和整个表选择最小值

我想找到特定 id 的最低访问值和整个表的最低值。在一个查询中。

我的标签

我可以在一个查询中完成吗?

现在我确实喜欢:

然后我做第二个查询。

我想要的是下面的东西(但可以让它更简单吗?)


谢谢

0 投票
1 回答
245 浏览

sql - 何时使用表运算符 APPLY

我正在尝试了解 table operator APPLY

这是示例:

我的主要障碍是了解何时使用APPLY.
所以我想知道使用standard sqlimplemented in获得与上述相同的结果有多难sql-server 2005
是否APPLY使查询更短或更易读?
如果这个例子没有显示出使用的巨大优势,APPLY那么使用有优势的明显例子是APPLY什么?

0 投票
1 回答
37 浏览

sql - SQL 标准是否定义了整数/浮点溢出的行为?

我试过谷歌搜索,但似乎每个数据库处理这个不同。SQL 标准是否真的说明了值溢出会发生什么行为?

资料来源:

http://dev.mysql.com/doc/refman/5.0/en/out-of-range-and-overflow.html http://www.sqlite.org/lang_aggfunc.html

0 投票
4 回答
97 浏览

sql - 将几个 INNER 与几个 LEFT OUTER JOIN 混合时的标准方法

如果我有几个LOJs 和几个,我应该使用INNER JOINS正确的标准句法结构吗?

示例场景

  • 5 个表 #A - #E 都有一个 UserId 列,每个表都有一个额外的度量列 - 表 #A 中的 MeasureA,表 #B 中的 MeasureB 等。
  • 表#A、#B、#C 都具有相同的一组 UserId
  • 表#D 和#E 在#A-#C 中具有不同的用户ID 子集。

这是要使用的正确结构吗:

还是应该在#A 的子查询中应用 LOJ?

0 投票
1 回答
88 浏览

mysql - 在 MySQL 中检查行存在的最佳方法是什么

我需要知道哪个是检查一行的最佳方法:

无柱;只有一个数字:

带有列和数据库( users.id )

有列和无数据库

对于所有领域(显然效率低下):

并且在使用句子“exists”时建议使用句子“limit”?

有限制的例子:

无限制示例:

谢谢!

0 投票
1 回答
511 浏览

sql - WHERE 子句中的逻辑处理顺序或 SQL 标准

几天前有人问我关于 SELECT 语句的逻辑处理顺序,更具体地说是关于别名和 where 子句,我不确定一个问题。如果我们有这样的查询:

在 WHERE 子句中使用别名会产生错误的原因实际上是 SELECT 语句的逻辑处理顺序,或者更确切地说是语法解析问题,或者可能是 SQL 标准的规则?

0 投票
3 回答
225 浏览

sql - 变量/函数/过程/等名称会影响 PL/SQL 中的性能吗?

我几乎是一个从“Java 世界”到“PL/SQL 世界”的新手,使用“遗留”存储过程,我有一个问题。Java 命名的最佳实践包括诸如“变量、方法、类等的名称应该是有意义的和自动记录的”之类的提示(我在 Clean Coder 书中阅读过)。默认情况下,Oracle 的标识符长度为 30 个字符,但我发现缩写命名并不总是“易于翻译”,我不知道这是考虑到应用程序性能还是“只是一种不好的做法”。

假设我发现了这样的东西:

如果我像这样重构该代码,有什么需要注意的吗?

应用程序的性能是否有所下降?如果所有变量都像最后一个一样,有 30 个字符怎么办?函数/过程/触发器/等的名称何时会影响性能?有这方面的标准吗?

谢谢!

0 投票
3 回答
35828 浏览

string - 在特定字符处拆分字符串 SQL 标准

在我的 SQL 语句中,我必须从字符“_”处的字符串中提取子字符串。例如,字符串可以是“A_XXX”“AB_XXX”“ABC_XXXX”,因此提取的子字符串应该类似于“A”“AB”“ABC”。

在 Oracle 中,这很容易使用 substr() 和 instr() 函数:

结果将是:

我需要这个查询来检查一个特定的子字符串是否在一个字符串数组中。

整个查询看起来像:

有没有办法用 SQL 标准编写它?

在此先感谢您的帮助。

编辑:

如果 PostgreSQL 提供了替代功能,它也会有所帮助。其余的可以用例如 IN 来解决。真正重要的部分是获取子字符串。