主流数据库之间对SQL:2003标准的不同实现方法比较(第二部分 结果集排序)

翻译 2008年07月29日 15:18:00

本文严禁在未征得本人同意的情况下以任何形式进行转载。本人只接受在邮件中的转载申请,如需转载,请发送邮件至 betteryou@126.com。 

 

SELECT语句

 

结果集排序

标准(Standard)

SQL标准指出关系(relation)是未排序的,但结果集可能在通过游标返回时被排序:

 

DECLARE cursorname CURSOR FOR

SELECT … FROM … WHERE …

ORDER BY column_name1, column_name2, …

 

如上所述,标准并不允许将ORDER BY子句放置在除游标以外的其它地方。但也存在一些特例,如window函数中的ORDER BY(包括ROW_NUMBER) OVER… RANK() OVER…)

 

标准中未指定在排序比较中NULL值与非NULL值的比较规则,但所有的NULL在排序中被视为一样的值,而且所有的NULL值必须排于非NULL值之前或之后。

PostgreSQL

除了在游标定义中,PostgreSQL还支持在别的上下文中使用ORDER BYNULL值被视为比非NULL

DB2

除了在游标定义中,DB2还支持在别的上下文中使用ORDER BYNULL值被视为比非NULL

MS SQL Server

除了在游标定义中,PostgreSQL还支持在别的上下文中使用ORDER BYNULL值被视为比非NULL

MySQL

除了在游标定义中,PostgreSQL还支持在别的上下文中使用ORDER BY

 

NULL值被视为比非NULL,除非在列名前加上-(减号),而且ASC变为DESC,或DESC变为ASC;似乎在列名前加-(减号)的特性未被记入文档。

Oracle

除了在游标定义中,PostgreSQL还支持在别的上下文中使用ORDER BY

 

NULL值被视为比非NULL;虽然如此,可通过在ORDER BY表达式中添加NULLS FIRSTNULLS LAST来改变。

 

请注意Oracle将空字符串和NULL视为同一值。

 

 

原文参考:Comparison of different SQL implementations

主流数据库之间对SQL:2003标准的不同实现方法比较(第一部分 视图View与连接Join)

本文严禁在未征得本人同意的情况下以任何形式进行转载。本人只接受在邮件中的转载申请,如需转载,请发送邮件至 betteryou@126.com。  主流数据库之间对SQL:2003标准的不同实现方法比较...
  • BU_BetterYou
  • BU_BetterYou
  • 2008年07月28日 15:06
  • 2575

SQL 2003 规范中关于UNION的描述

我们可以使用UNION、UNION ALL、INTERSECT、MINUS来组合多条查询语句,所有的操作符优先级都是一样的。 如果组合查询字符串数据,那么数据类型取决于以下几点: 如果查询的都是...
  • Tianyi_liang
  • Tianyi_liang
  • 2017年06月20日 09:00
  • 190

标准输入、标准输出究竟是什么?

本文转自:http://blog.csdn.net/astropeak/article/details/6651747 本文将从基本原理解析标准输入,标准输出的由来(最终结论见最后). 对于一...
  • yskyj
  • yskyj
  • 2013年10月30日 09:05
  • 2763

python程序的标准输入输出

1,  A+B Problem : http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem&problemid=1000 #...
  • xiaotan1314
  • xiaotan1314
  • 2016年05月25日 11:43
  • 3307

W3C标准与规范

W3C标准,即一系列标准的集合,他的本质是结构标准语言。就像平时使用的HTML、CSS等都需要遵守这些标准。 万维网联盟创建于1994年,是web技术领域最具权威和影响力的国际中立性技术标准机构。它...
  • u011641865
  • u011641865
  • 2016年04月10日 20:07
  • 2124

Java(标准输入/输出流)

Java通过系统类System实现标准输入/输出的功能,定义了3个流变量:in,out,和err.这3个流在Java中都定义为静态变量,可以直接通过System类进行调用。System.in表示标准输...
  • JACK_JYH
  • JACK_JYH
  • 2016年08月31日 20:00
  • 2676

IPC的标准是什么?

是印制电路板的一种标准。 IPC最初为“The Institute of Printed Circuit”的缩写,即美国“印制电路板协会”,后改名为“The Institute of the Inte...
  • Three_water
  • Three_water
  • 2015年01月30日 11:13
  • 3586

Linux基础之标准输入和输出

1.Linux提供了三种输入/输出通道给程序 标准输入(STDIN) - 缺省为键盘  标准输出(STDOUT) - 默认为终端窗口  标准错误(STDERR) - 默认为终端窗口 2.标准输...
  • u011018979
  • u011018979
  • 2014年03月19日 14:50
  • 1108

POSIX标准总体分析

POSIX标准总体分析     POSIX,全称为可移植性操作系统接口,是一种关于信息技术的IEEE标准。它包括了系统应用程序接口(简称API),以及实时扩展[C语言]。 该标准的目的是定...
  • u013165704
  • u013165704
  • 2017年03月30日 22:53
  • 334

IO —— 标准输入流和标准输出流

说明:这里的标准不可以理解为“规范”。标准输入指键盘输入,标准输出指控制台输出。这一节讲解标准输入流和标准输出流。例1:示例了 syso 或者 sout 的深层道理,其实就是 PrintStream/...
  • lw_power
  • lw_power
  • 2016年07月24日 08:26
  • 1130
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:主流数据库之间对SQL:2003标准的不同实现方法比较(第二部分 结果集排序)
举报原因:
原因补充:

(最多只允许输入30个字)