Давайте дружить в Телеграме: рассказываем про новые фичи, общаемся в комментах, прислушиваемся к вашим идеям Подписаться

Псевдонимы или алиасы в SQL: как использовать

Александр Бархатов
Александр Бархатов
Технический писатель
08 апреля 2024 г.
403
5 минут чтения
Средний рейтинг статьи: 5

В языке SQL (Structured Query Language) присутствует довольно интересная функция под названием «псевдонимы» (aliases). В данной статье мы рассмотрим, что такое псевдонимы, когда их можно использовать а также выделим преимущества псевдонимов при выполнении SQL запросов.

Что такое псевдонимы в SQL

Псевдоним (alias) — функция в языке SQL, предназначенная для временного присвоения новых имен для таблиц и столбцов в базе данных. Использовать псевдонимы можно только во время выполнения конкретного запроса при помощи оператора SELECT. Для использования псевдонимов обычно используется оператор AS, однако в некоторых СУБД ключевое слово AS можно не использовать.

Операция по переименованию является временным изменением и фактическое имя таблицы/столбца не изменяется в структуре базе данных.

Псевдонимы и в частности оператор AS поддерживаются во всех популярных СУБД включая MySQL, PostgreSQL, Oracle Database, Microsoft SQL Server, IBM Db2.

Синтаксис по использованию псевдонимов выглядит следующим образом. 

Для таблицы:

SELECT <имя_столбца>
FROM <имя_таблицы> AS <псевдоним_таблицы>;

Для столбца:

SELECT <имя_столбца> AS <псевдоним_столбца>
FROM <имя_таблицы>;

Для нескольких столбцов:

SELECT <имя_столбца> AS <псевдоним_столбца>, <имя_столбца> AS <псевдоним_столбца>
FROM <имя_таблицы>;

Практические примеры использования псевдонимов в SQL

Рассмотрим использование псевдонимов на практических примерах. Все примеры выполнялись на СУБД PostgreSQL 15 версии.

В качестве примера возьмем базу данных с именем orders. В базе данных присутствует таблица list_information, в которой содержится информация о покупателях в интернет-магазине. В таблице присутствуют следующие столбцы:

user_identification_number   customer_name   customer_address   customer_city   customer_country   postal_code

Создадим структуру базы данных. Команды ниже выполнялись при помощи консольной утилиты psql, которая поставляется в комплекте с PostgreSQL.

  1. Создаем базу данных orders:
CREATE DATABASE orders;

Image1

  1. Далее подключаемся к созданной базе данных:
\c orders

Image3

  1. Создаем таблицу list_information и необходимые столбцы:
CREATE TABLE list_information (             
         user_identification_number INT PRIMARY KEY,
         customer_name                         VARCHAR(100) NOT NULL,
         customer_address                    VARCHAR(255) NOT NULL,
         customer_city                             VARCHAR(100) NOT NULL,
         customer_country                     VARCHAR(100) NOT NULL,
         postal_code                                 INT NOT NULL
         );

Image2

Так как имя list_information не является понятным и не отражает суть того, какие данные хранятся в таблице, воспользуемся псевдонимом на время выполнения запроса на выборку данных:

SELECT * FROM list_information AS customer_information;

Где customer_information — временное название, присвоенное таблице list_information.

Как уже было упомянуто ранее, в некоторых СУБД можно не использовать ключевое слово AS. В таком случае псевдоним указывается сразу после имени таблицы:

SELECT * FROM list_information customer_information;

Данное правило действует и для столбцов.

Теперь воспользуемся псевдонимом для столбца. Принцип действия один и тот же, только оператор AS указываем после конкретного столбца таблицы. Например, в таблице list_information присутствует столбец с именем user_identification_number, в котором хранятся уникальные номера (ID) клиентов. С целью предоставления отчетности или для укорочения информации можно использовать удобное имя для столбца, например, заменив его на user_ID:

SELECT user_identification_number AS user_ID FROM list_information;

При выполнении запроса выше, в консоли SQL в качестве имени столбца будет отображаться ранее заданный псевдоним user_ID, при этом оригинальное имя столбца (user_identification_number) на уровне базы данных изменено не будет — псевдоним используется только временно и только на уровне выполнения запроса.

Также псевдонимы можно использовать для нескольких столбцов сразу:

SELECT user_identification_number AS user_ID, customer_city AS city FROM list_information;

Если в имени псевдонима будет содержаться пробел, то необходимо использовать двойные кавычки. В примере ниже будет создан псевдоним для столбца customer_city с именем person city при помощи двойных кавычек:

SELECT customer_city AS "person city" FROM list_information;

Также при помощи псевдонима можно объединить несколько столбцов таблицы. В СУБД PostgreSQL для этого используется оператор CONCAT для соединения столбцов таблицы:

SELECT customer_name, CONCAT(customer_address,  customer_city, customer_country, postal_code) AS Address
FROM list_information;

В запросе выше будут выведены 2 столбца: customer_name и Address. Причем в столбце Address (который является псевдонимом) будет отображена информация из 4 столбцов сразу:  customer_address, customer_city, customer_country и postal_code. Тем самым произошло объединение столбцов. Это удобно при составлении отчетов.

Когда стоит использовать псевдонимы

Несмотря на довольную простою функцию, которую выполняют псевдонимы, их можно использовать в следующих ситуациях:

  • При работе с несколькими таблицами.

  • При использовании функций.

  • Если имена столбцов не отражают текущее содержимое и/или состоят из большого количества символов. Полезно при создании отчетов.

  • При объединении двух или более столбцов.

Заключение

В данной статье мы рассмотрели, что такое псевдоним в языке SQL, а также разобрали практические примеры использования псевдонимов. Несмотря на то, что псевдонимы легко использовать, они могут оказаться полезными в работе.

Зарегистрируйтесь и начните пользоваться
сервисами Timeweb Cloud прямо сейчас

15 лет опыта
Сосредоточьтесь на своей работе: об остальном позаботимся мы
165 000 клиентов
Нам доверяют частные лица и компании, от небольших фирм до корпораций
Поддержка 24/7
100+ специалистов поддержки, готовых помочь в чате, тикете и по телефону