检索一个表中的数据:
     1:select * from T_A
          c1         c2
          001       10001
          001       10005
          001       10004
          001       10003
          001       10002
     2:select * from T_A where field1='001'
          c1         c2
          001       10001
          001       10002
          001       10003
          001       10004
          001       10005
在第二次检索中我没有使用排序,为什么输出的结果已经排好顺序了呢?

解决方案 »

  1.   

    应该是oracle检索数据的算法问题,自动排序 ..
      

  2.   

    两种情况:
    1)在Data block是自然排序的。
    2)索引是有排序的。
      

  3.   

    No.2的结果和索引有关.
    对于T_A表,C1,C2都是索引,但是我用下面的语句检索却没有排序,为什么呢?
      3:select * from T_A where C2>='10001'
                        c1                   c2 
                        001               10001 
                        001               10005 
                        001               10004 
                        001               10003 
                        001               10002