Гарантирует ли table1 UNION ALL table2 порядок вывода table1, table2?

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

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


person st12    schedule 13.08.2010    source источник
comment
ORDER BY — это единственный способ гарантировать порядок результатов в запросе в стандартном SQL.   -  person Gabe    schedule 05.09.2010
comment
возможный дубликат SQL Server UNION - что такое ПОРЯДОК по умолчанию ПО поведению   -  person 200_success    schedule 09.05.2014


Ответы (2)


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

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

person OMG Ponies    schedule 13.08.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]
person adopilot    schedule 13.08.2010