sql - 使用 SQL 序数位置表示法的好处?

标签 sql sql-server oracle ordinals

背景信息

序数位置表示法(又称为序数)是基于 SELECT 子句中列列表中的列顺序(而不是列名称或列别名)的列简写。 ORDER BY 子句通常受支持,某些数据库(MySQL 3.23+、PostgreSQL 8.0+)也支持 GROUP BY 子句的语法。

这是使用序数的示例:

GROUP BY 1, 2
ORDER BY 1, 2

它不好用,因为它会使查询变得脆弱 - 如果列顺序发生变化,则需要更新序号,否则查询将不会返回您想要的结果。如果这些位置处的列包含在聚合中,那么在 GROUP BY 中使用时,您很可能会收到错误...

问题

我能想到的唯一好处是,如果您不使用存储过程或函数(这使得顺序使用对我来说毫无意义),那么通过网络发送的数据就会减少。我还缺少其他任何好处吗?

最佳答案

我会用它:

  • 如果您喜欢排除故障
  • 创建不带智能感知的即席查询

没有什么好处。

无论如何,SQL Server 只支持 ORDER BY。在其他任何地方,它都是要计算的表达式。

关于sql - 使用 SQL 序数位置表示法的好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2253040/

相关文章:

sql - 在命令行上执行一系列SQL命令

sql-server - Sql Server AlwaysOn 组可以作为事务复制订阅者吗?

sql - 在临时表中插入时无法工作的顺序

sql-server - 如何解决 "Batch update returned unexpected row count from update; actual row count: 0; expected: 1"问题?

oracle - 由于 adobe flash player,OBIEE 图表不显示

oracle - 如何使用 apex 5.0 增加表格形式显示的行数

sql - 异常: ORA-31640: unable to open dump file "..." for read

sql - 从 XML 列中获取所有值

sql - 从员工表查询中检索工资

php - 将数据拆分为两个表