select * from tb1
union
select * from tb2
union的默认排序tb1的数据在前,tb2的数据在后?我测试的结果都是这样的,真是情况是否是这样?

解决方案 »

  1.   

    select 2 union select 1
      

  2.   

    UNION ALL 是你说的结果,但UNION 是会去重排序的
      

  3.   

    你可能是SQL2K5以上吧。有改正一些东西了
      

  4.   

    select 2 
    union
    select 1
    union
    select 3
    union
    select 0/*
    -----------
    0
    1
    2
    3(4 行受影响)
    */
    默认是先union 在排序
      

  5.   


    我发现一个union的时候是不排序的
    两个union的时候会先union再排序,有官方说法吗?
    select 2 
    union
    select 1
    /*
    2
    1
    */
    select 1
    union
    select 3
    union
    select 0
    /*
    0
    1
    3
    */