订单1,2做了什么

时间:2012-06-28 08:25:39

标签: sql oracle11g

想象一下,我们有以下表格

create table t
  (item number,
   bin number,
   primary key (bin , item) );

我使用insert into命令将多个值插入表t,现在我对这段代码感兴趣

select * from t
  order by 1,2;

据我所知,它从表t中选择所有内容并对其进行排序,因为顺序意味着使用order命令中列出的条件对所选查询进行排序,但order 1,2我无法理解它是什么意思你能救我吗?

3 个答案:

答案 0 :(得分:11)

它按第一列和第二列对结果进行排序,因此在您的情况下它与

相同
select *
from t
order by item, bin;

答案 1 :(得分:2)

select * from t
  order by item, bin; // just different written but result is same.

Result将按第一列和第二列排序。

不同之处在于代码的可读性,所以如果有人不知道有关餐桌的信息,你的select就不会说他。 Person只知道结果将按1.和2.列排序,仅此而已。

答案 2 :(得分:2)

它将按第一列排序结果,然后,如果第一列中有一些具有相同值的行,它将按第二列排序。