Псевдонимы в SQL
Псевдонимы в SQL (алиасы) кажутся «косметикой», но у них есть подводные камни и тонкости, которые реально влияют на запросы.
Псевдонимы - это временные имена для таблиц или столбцов внутри запроса.
В моем канале На связи: SQL уже есть про это посты: вот этот. Канал я веду с нуля подписчиков. Чтобы показать, что аналитика и SQL это не страшно, а интересно. Присоединяйся, если ты тоже хочешь начать изучать SQL или вспомнить и осознать некоторые нюансы.
- c — алиас таблицы customers
- customer_name — алиас для колонки c.name
Внутри результата ты видишь только customer_name.
Где применяются
Сокращение длинных имён
- читабельнее, чем всё время писать orders.id, customers.name
JOIN и self-join
Без алиасов нельзя отличить таблицы при самосоединении:
Агрегация и подзапросы
Алиас часто обязателен:
Derived tables (подзапросы в FROM)Тут алиас обязателен:
Где их нельзя применять / ограничения
В том же уровне WHERE
- Алиасы доступны только в SELECT/ORDER BY, но не в WHERE или GROUP BY.
→ нужно повторно писать выражение или завернуть в CTE. - Порядок обработки
SQL выполняется в порядке: FROM → JOIN → WHERE → GROUP BY → HAVING → SELECT → ORDER BY → LIMIT.
Алиасы появляются только после SELECT. Поэтому: в WHERE и GROUP BY алиасы ещё не видны; в ORDER BY алиасы уже можно использовать
Нюансы, которые часто забывают
- Алиасы влияют только на внешний уровень запроса
Они не меняют структуру таблицы.
В EXPLAIN ты увидишь исходные имена столбцов, а не алиасы. - В подзапросах алиас обязателен для таблицы
Даже если кажется, что можно без него.
- ORDER BY может использовать алиас
Ускоряет жизнь:SELECT salary * 1.2 AS new_salary
FROM employees
ORDER BY new_salary DESC; - CTE против алиасов
Если выражение слишком длинное (например, CASE WHEN …), лучше вынести его в CTE вместо алиаса в SELECT
→ так его можно переиспользовать и в WHERE, и в ORDER BY. - Алиасы могут влиять на читаемость, но и запутывать
Пример анти-паттерна:
SELECT u.id AS order_id -- ❌ псевдоним вводит в заблуждение FROM users u;
→ плохая идея, потому что вводит читателя в ошибку.
Итог: алиасы — не просто косметика. Это инструмент:
- для читаемости;
- для самосоединений и подзапросов;
- для управления порядком сортировки.
Но они не живут дольше SELECT-а
Подписывайся на мой канал На связи SQL и давай изучать особенности вместе!