Гарантирует ли table1 UNION ALL table2 порядок вывода таблицы table1, table2? - PullRequest
2 голосов
/ 13 августа 2010
SELECT a FROM b
UNION ALL 
SELECT a FROM c
UNION ALL 
SELECT a FROM d

Гарантирует ли UNION ALL распечатывать записи из таблиц b, c, d в таком порядке? Т.е. нет никаких записей от c до каких-либо от b. Этот вопрос не относится к конкретной СУБД.

Ответы [ 2 ]

8 голосов
/ 13 августа 2010

Нет заказа, нет гарантии заказа - это для каждой базы данных.

А для стандартного SQL ORDER BY применяется к результатам всех объединенных запросов.

1 голос
/ 13 августа 2010

Чтобы быть уверенным в порядке, используйте

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, [desired column]
...