← Назад к вопросам

Что такое alias в SQL?

1.0 Junior🔥 211 комментариев
#Базы данных и SQL

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI23 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Alias в SQL

Alias (псевдоним) — это временное имя, которое вы даёте таблице, столбцу или выражению в SQL запросе. Alias используется для упрощения кода, делая запросы более читаемыми и удобными, особенно при работе с длинными названиями или сложными выражениями.

Типы alias

1. Alias для столбцов (Column Alias)

Используется для переименования столбца в результате запроса:

-- Простой alias
SELECT first_name AS "Имя", last_name AS "Фамилия" 
FROM users;

-- Alias для вычисляемого выражения
SELECT first_name, last_name, salary * 12 AS annual_salary
FROM employees;

-- Alias без ключевого слова AS (также валиден)
SELECT first_name "Имя", last_name "Фамилия"
FROM users;

-- Alias с функциями агрегации
SELECT department, COUNT(*) AS employee_count
FROM employees
GROUP BY department;

2. Alias для таблиц (Table Alias)

Используется при соединении таблиц или для сокращения названий:

-- Простой alias для таблицы
SELECT u.id, u.username, u.email
FROM users u;

-- Alias в JOIN запросах (часто используется)
SELECT u.id, u.username, o.order_id, o.total
FROM users u
INNER JOIN orders o ON u.id = o.user_id
WHERE u.status = active;

-- Alias для самосоединения (self-join)
SELECT e1.name AS employee, e2.name AS manager
FROM employees e1
JOIN employees e2 ON e1.manager_id = e2.id;

-- Alias для подзапросов
SELECT subq.total_orders, subq.avg_order_value
FROM (
  SELECT 
    COUNT(*) AS total_orders,
    AVG(total) AS avg_order_value
  FROM orders
) AS subq;

Зачем нужны alias?

  • Читаемость — длинные имена таблиц сокращаются, делая запрос понятнее
  • Удобство — меньше печатать в JOIN и WHERE условиях
  • Ясность — в сложных запросах видно, из какой таблицы берётся столбец
  • Результаты — можно задать удобные названия для столбцов в результатах
  • Самосоединение — необходимо для работы с таблицей, соединяемой с самой собой

Практический пример

-- Без alias (сложно читать)
SELECT users.id, users.username, orders.order_date, order_items.quantity
FROM users
INNER JOIN orders ON users.id = orders.user_id
INNER JOIN order_items ON orders.id = order_items.order_id
WHERE users.is_active = true;

-- С alias (намного чище)
SELECT u.id, u.username, o.order_date, oi.quantity
FROM users u
INNER JOIN orders o ON u.id = o.user_id
INNER JOIN order_items oi ON o.id = oi.order_id
WHERE u.is_active = true;

Важные правила

  • Alias действителен только в текущем запросе
  • Можно использовать в SELECT, FROM, JOIN, WHERE (в зависимости от СУБД)
  • Если alias содержит пробелы, используй кавычки: "Order Date"
  • Alias для таблиц в WHERE должны быть объявлены в FROM/JOIN
  • Keyword AS опционален, но рекомендуется для ясности

Alias — простой, но мощный инструмент, который делает SQL запросы чище и понятнее, особенно при работе с несколькими таблицами.

Что такое alias в SQL? | PrepBro