views:

64

answers:

2
SELECT a FROM b
UNION ALL 
SELECT a FROM c
UNION ALL 
SELECT a FROM d

Does UNION ALL guarantee to print out records from tables b, c, d in that order? I.e., no records from c before any from b. This question is not for a specific DBMS.

+7  A: 

No order by, no order guarantee whatsoever - that's for every database.

And for standard SQL, an ORDER BY is applied to the results from all the unioned queries.

OMG Ponies
+1  A: 

To be sure in order use

Select 1 as TableNo,* from a
union all 
select 2 as TableNo,* from b
union all
select 3 as TableNO,* from c
order by TableNo,[desire culomn]
adopilot