Чтобы избежать неожиданных результатов при использовании ORDER BY с другими операторами SQL, можно следовать некоторым рекомендациям:
- Избегать указания целых чисел в предложении ORDER BY в качестве позиционных представлений столбцов в списке выбора. 1 Лучше указывать фактические имена столбцов. 1
- Изменять предложение ORDER BY при изменениях в списке выбора, таких как изменение порядка столбцов или добавление новых столбцов. 1
- Использовать алиасы для упрощения процесса сортировки и обеспечения однородности запроса. 2
- Обращать внимание на правильное использование скобок при работе с ORDER BY в паре с оператором UNION ALL. 2
- Преобразовывать типы данных как можно раньше в процессе, чтобы анализировать столбцы так, как если бы они были числами. 3
- Если запрос использует операторы UNION, EXCEPT или INTERSECT, указывать предложение ORDER BY в конце инструкции. 1
Также важно учитывать, что при использовании с оператором SELECT…INTO или INSERT…SELECT для вставки строк из другого источника предложение ORDER BY не гарантирует вставку строк в указанном порядке. 1