ORDER BY 子句按查询结果中的一列或多列对查询结果进行排序,用作排序依据的列总长度可达 8,060。有关 ORDER BY 子句最大大小的更多信息,请参见 SELECT。排序可以是升序的 (ASC),也可以是降序的 (DESC)。如果没有指定升序还是降序,就假定为 ASC。重要 ORDER BY 子句的确切结果取决于安装过程中所选的排序规则。有关不同排序规则所产生的影响的更多信息,请参见 SQL Server 排序规则基础知识。 下列查询返回按 pub_id 升序排列的结果。USE pubs SELECT pub_id, type, title_id FROM titles ORDER BY pub_id下面是结果集:pub_id type title_id ------ ------------ -------- 0736 business BU2075 0736 psychology PS2091 0736 psychology PS2106 0736 psychology PS3333 0736 psychology PS7777 0877 mod_cook MC2222 0877 mod_cook MC3021 0877 UNDECIDED MC3026 0877 psychology PS1372 0877 trad_cook TC3218 0877 trad_cook TC4203 0877 trad_cook TC7777 1389 business BU1032 1389 business BU1111 1389 business BU7832 1389 popular_comp PC1035 1389 popular_comp PC8888 1389 popular_comp PC9999 (18 row(s) affected)如果在 ORDER BY 子句中指定了不止一列,排序就是嵌套的。下列语句对 titles 表中的行进行排序,首先按出版商降序排列,然后在各出版商范围内按类型升序排列,最后按价格排序(同样是升序,因为未指定 DESC)。 USE pubs SELECT pub_id, type, title_id, price FROM titles ORDER BY pub_id DESC, type, price说明 不能对数据类型为 text 或 image 的列使用 ORDER BY。同样,在 ORDER BY 列表中也不允许使用子查询、聚合和常量表达式;不过,可以在聚合或表达式的选择列表中使用用户指定的名称,例如: SELECT type, sum (ytd_sales) AS sales_total FROM titles GROUP BY type ORDER BY sales_total
to blactte(想认识我吗?在靠近一点!) 老大,请看清楚题目,我没有用order by 子句,我昏,不要老抄联机丛书
或者你修改排序的默认设置,就可以按你需要的排了,不过这样还不如用order by
如果数据库使用hash的话,物理顺序不一定是读出的顺序。
我想可能和数据库的查找机制有关。
下列查询返回按 pub_id 升序排列的结果。USE pubs
SELECT pub_id, type, title_id
FROM titles
ORDER BY pub_id下面是结果集:pub_id type title_id
------ ------------ --------
0736 business BU2075
0736 psychology PS2091
0736 psychology PS2106
0736 psychology PS3333
0736 psychology PS7777
0877 mod_cook MC2222
0877 mod_cook MC3021
0877 UNDECIDED MC3026
0877 psychology PS1372
0877 trad_cook TC3218
0877 trad_cook TC4203
0877 trad_cook TC7777
1389 business BU1032
1389 business BU1111
1389 business BU7832
1389 popular_comp PC1035
1389 popular_comp PC8888
1389 popular_comp PC9999 (18 row(s) affected)如果在 ORDER BY 子句中指定了不止一列,排序就是嵌套的。下列语句对 titles 表中的行进行排序,首先按出版商降序排列,然后在各出版商范围内按类型升序排列,最后按价格排序(同样是升序,因为未指定 DESC)。 USE pubs
SELECT pub_id, type, title_id, price
FROM titles
ORDER BY pub_id DESC, type, price说明 不能对数据类型为 text 或 image 的列使用 ORDER BY。同样,在 ORDER BY 列表中也不允许使用子查询、聚合和常量表达式;不过,可以在聚合或表达式的选择列表中使用用户指定的名称,例如:
SELECT type, sum (ytd_sales) AS sales_total
FROM titles
GROUP BY type
ORDER BY sales_total
老大,请看清楚题目,我没有用order by 子句,我昏,不要老抄联机丛书
TO:defender:物理存储顺序:请参见:
聚集索引
在聚集索引中,表中各行的物理顺序与键值的逻辑(索引)顺序相同。表只能包含一个聚集索引。如果不是聚集索引,表中各行的物理顺序与键值的逻辑顺序不匹配。聚集索引比非聚集索引有更快的数据访问速度。有关使用聚集索引的更多信息,请参见创建聚集索引。
你可以通过SHOW EXECUTION PLAN看到QUERY时执行的规划来了解.
有很多人不看联机帮助,就过来发贴子,我也是没办法如果没有ORDER BY 子句,是根据表的物理存储顺序来显示的
表的物理存储顺序是按照聚簇索引所建立的字段排序,然后进行存储的
一般是主键的顺序,如果没有主键就是聚簇索引字段的顺序,如果两者都没有,就是按照插入记录的先后次序显示