Про SQL

В запросах полям можно назначать синонимы. Но по ним нельзя сортировать.

select name as username from users order by username

Стандарт говорит нам “используйте реальные имена полей, потому что на момент сортировки синонимы еще не определены”.

Ладно, пример не показателен. Но если одна и та же таблица используется несколько раз, то использование реальных имен вызывает путаницу - из какой именно части запроса это поле?

Выход я, конечно, нашел. Если использовать синонимы для таблиц, то в сочетании с реальными полями неоднозначность исчезает. То есть для таблиц синонимы определяются до сортировки, а для полей - после. Странная какая-то логика.