Комбинированные запросы
- Что такое комбинированные запросы
- Правила применения запросов UNION
- Включение или исключение повторяющихся строк
- Сортировка результатов комбинированных запросов
Сортировка результатов комбинированных запросов
Результат применения оператора SELECT сортируется с помощью предложения ORDER BY. При комбинировании запросов посредством UNION только одно предложение ORDER может быть использовано, и оно должно появиться после заключительного оператора SELECT. Практически не имеет смысла сортировать часть набора результатов одним способом, а часть — другим, поэтому несколько предложений ORDER BY применять не разрешается.
В следующем примере сортируются результаты, полученные предыдущим запросом UNION:
FROM Customers
WHERE cust_state IN (4L1,'IN1,'MI')
UNION
SELECT cust_name, cust_contact, cust_email
FROM Customers
WHERE cust_name = 'Fun4All'
ORDER BY cust_name, cust_contact;
cust_name cust_contact cust_email
------------- ------------------- -----------------------------
Fun4All Denise L.Stephens dstephens@fun4all.com
Fun4All Jim Jones jjones@fun4all.com
The Toy Store Kim Howard NULL
Village Toys John Smith sales@villagetoys.com
Этот запрос UNION использует одно предложение ORDER BY после заключительного оператора SELECT.
Несмотря на то что ORDER BY является частью только последнего оператора SELECT, на самом деле СУБД будет использовать его для сортировки всех результатов, возвращенных всеми операторами SELECT.



