В этом руководстве вы узнаете, как использовать псевдонимы SQL Server, включая псевдонимы столбцов и псевдонимы таблиц.
Псевдоним столбца SQL Server
Когда вы используете оператор SELECT для запроса данных из таблицы, SQL Server использует имена столбцов в качестве заголовков столбцов для вывода. Например:
SELECT first_name, last_name FROM sales.customers ORDER BY first_name;
Выходные данные указывают на то, что SQL Server использует имена столбцов first_name и last_name в качестве заголовков столбцов соответственно.
Чтобы получить полные имена клиентов, вы можете объединить имя, пробел и фамилию, используя оператор конкатенации +, как показано в следующем запросе:
SELECT first_name + ' ' + last_name FROM sales.customers ORDER BY first_name;
SQL Server возвращает столбец полного имени как(No column name), что в данном случае не имеет смысла.
Чтобы присвоить столбцу или выражению временное имя во время выполнения запроса, используется псевдоним столбца.
Ниже показан синтаксис псевдонима столбца:
column_name | expression AS column_alias
В этом синтаксисе ключевое слово AS используется для разделения имени столбца или выражения и псевдонима.
Поскольку ключевое слово AS является необязательным, вы можете назначить псевдоним столбцу следующим образом:
column_name | expression column_alias
Возвращаясь к примеру выше, вы можете переписать запрос, используя псевдоним столбца:
SELECT first_name + ' ' + last_name AS full_name FROM sales.customers ORDER BY first_name;
Обратите внимание: если псевдоним столбца содержит пробелы, его необходимо заключить в кавычки, как показано в следующем примере:
SELECT first_name + ' ' + last_name AS 'Full Name' FROM sales.customers ORDER BY first_name;
В следующем примере показано, как назначить псевдоним столбцу:
SELECT category_name 'Product Category' FROM production.categories;
В этом примере псевдоним столбца категории продукта гораздо более понятен, чем имя столбца category_name.
При назначении псевдонима столбцу можно использовать либо имя столбца, либо псевдоним столбца в предложении ORDER BY, как показано в следующем примере:
SELECT category_name 'Product Category' FROM production.categories ORDER BY category_name; SELECT category_name 'Product Category' FROM production.categories ORDER BY 'Product Category';
Обратите внимание, что SQL Server обрабатывает предложение ORDER BY после предложения SELECT, поэтому вы можете использовать псевдонимы столбцов в предложении ORDER BY.
Псевдоним таблицы SQL Server
Таблице можно присвоить псевдоним, который называется корреляционным именем или переменной диапазона.
Подобно псевдониму столбца, вы можете присвоить таблице временное имя с ключевым словом AS или без него:
table_name AS table_alias table_name table_alias
Например:
SELECT sales.customers.customer_id, first_name, last_name, order_id FROM sales.customers INNER JOIN sales.orders ON sales.orders.customer_id = sales.customers.customer_id;
В этом примере и таблица «Клиенты», и таблица «Заказы» имеют столбец с одинаковым именем customer_id, поэтому вам нужно обратиться к столбцу, используя следующий синтаксис:
table_name.column_name
такой как:
sales.custoners.customer_id sales.orders.customer_id
Если этого не сделать, SQL-сервер выдаст ошибку.
Запрос выше довольно трудно читать. К счастью, вы можете улучшить его читаемость, используя псевдоним таблицы следующим образом:
SELECT c.customer_id, first_name, last_name, order_id FROM sales.customers c INNER JOIN sales.orders o ON o.customer_id = c.customer_id;
В этом запросе c — псевдоним для таблицы sales.customers, а o — псевдоним для таблицы sales.orders.
При назначении псевдонима таблице необходимо использовать псевдоним для ссылки на столбец таблицы. В противном случае SQL Server выдаст ошибку.
Краткое содержание
- Псевдоним столбца — это временное имя, назначаемое столбцу или выражению в наборе результатов запроса.
- Используйте псевдоним столбца, чтобы переименовать вывод столбца или выражения и сделать его более значимым.
- Псевдоним таблицы — это сокращенное или временное имя, назначаемое таблице в запросе.
- Используйте псевдонимы таблиц при объединении нескольких таблиц или при многократном обращении к одной и той же таблице в запросе.