2011-12-08 12 views
0

を必要と私はテーブルTestTableを持っている:2つのクエリ - 説明が

IntCol 
1 
4 
6 
2 
3 
8 
12 
11 
9 
7 
15 
13 
14 

(数字は10を除く1から15までです)。

私は...

SELECT * FROM 
    (SELECT IntCol 
    FROM TestTable 
    WHERE IntCol >= 10 
    ORDER BY IntCol ASC) x1 
UNION ALL 
SELECT * FROM 
    (SELECT IntCol 
    FROM TestTable 
    WHERE IntCol < 10 
    ORDER BY IntCol DESC) x2 

...結果は、(最初​​の11〜15昇順から、その後、1から9 DECSendingに)okです:

IntCol 
11 
12 
13 
14 
15 
9 
8 
7 
6 
4 
3 
2 
1 

しかし、ときに私が省略しますSELECT * FROMと...

(SELECT IntCol 
    FROM TestTable 
    WHERE IntCol >= 10 
    ORDER BY IntCol ASC) 
UNION ALL 
    (SELECT IntCol 
    FROM TestTable 
    WHERE IntCol < 10 
    ORDER BY IntCol DESC) 

を行う...行が(唯一の10は最初のものより大きい値)すべてで注文されていません。結果は次のとおりです。

IntCol 
12 
11 
15 
13 
14 
1 
4 
6 
2 
3 
8 
9 
7 

私の質問は:合併する行を命じた際に必要な、このSELECT * FROMがある理由は?

答えて